• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

/usr/lib/swipl/library/prolog_code.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl
      • lists.pl
      • broadcast.pl
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl -- Extensible arithmetic
      • main.pl
      • readutil.pl
      • operators.pl -- Manage operators
      • pairs.pl
      • prolog_source.pl -- Examine Prolog source-files
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • url.pl
      • www_browser.pl -- Open a URL in the users browser
      • prolog_colour.pl -- Prolog syntax colouring support.
      • record.pl -- Access compound arguments by name
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • occurs.pl
      • ordsets.pl
      • assoc.pl -- Binary associations
      • ugraphs.pl
      • solution_sequences.pl
      • atom.pl
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • ctypes.pl -- Character code classification
      • utf8.pl
      • base64.pl
      • persistency.pl
      • pure_input.pl
      • nb_set.pl -- Non-backtrackable sets
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • csv.pl
      • iostream.pl -- Utilities to deal with streams
      • dialect.pl
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • yall.pl -- Lambda expressions
      • prolog_code.pl -- Utilities for reasoning about code
        • comma_list/2
        • semicolon_list/2
        • mkconj/3
        • mkdisj/3
        • is_predicate_indicator/1
        • pi_head/2
        • head_name_arity/3
        • most_general_goal/2
        • extend_goal/3
        • predicate_label/2
        • predicate_sort_key/2
        • is_control_goal/1
        • body_term_calls/2
      • dif.pl -- The dif/2 constraint
      • thread.pl -- High level thread primitives
      • predicate_options.pl
      • rbtrees.pl
      • nb_rbtrees.pl -- Non-backtrackable operations on red black trees
      • sandbox.pl
      • prolog_format.pl
      • random.pl -- Random numbers
      • pprint.pl
      • modules.pl
      • lazy_lists.pl
      • edinburgh.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl
      • dicts.pl
      • prolog_config.pl
      • shell.pl
      • backcomp.pl
      • charsio.pl -- I/O on Lists of Character Codes
      • base32.pl -- Base32 encoding and decoding
      • heaps.pl -- heaps/priority queues
      • prolog_debug.pl
      • date.pl -- Process dates and times
      • threadutil.pl -- Interactive thread utilities
      • terms.pl
      • edit.pl
      • make.pl -- Reload modified source files
      • wfs.pl -- Well Founded Semantics interface
      • check.pl -- Consistency checking
      • codesio.pl -- I/O on Lists of Character Codes
      • statistics.pl
      • coinduction.pl -- Co-Logic Programming
      • files.pl
      • strings.pl
      • tableutil.pl -- Table inspection and statistics utilities
      • increval.pl
      • tables.pl
      • hashtable.pl
      • help.pl
      • prolog_trace.pl -- Print access to predicates
      • prolog_jiti.pl
      • intercept.pl -- Intercept and signal interface
      • listing.pl
      • macros.pl
      • optparse.pl
      • prolog_coverage.pl -- Coverage analysis tool
      • sort.pl
      • prolog_stack.pl -- Examine the Prolog stack
      • prolog_codewalk.pl -- Prolog code walker
      • prolog_profile.pl
      • quintus.pl
      • qsave.pl
      • zip.pl
      • prolog_autoload.pl -- Autoload all dependencies
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • varnumbers.pl -- Utilities for numbered terms
      • when.pl
      • system.pl
      • prolog_wrap.pl
      • prolog_qlfmake.pl -- Compile the library to QLF format
      • exceptions.pl
      • tty.pl
      • oset.pl
      • portray_text.pl -- Portray text
      • writef.pl
      • streams.pl -- Manage Prolog streams
      • fastrw.pl
      • explain.pl
      • prolog_history.pl
      • prolog_metainference.pl -- Infer meta-predicate properties
 comma_list(?CommaList, ?List)
 semicolon_list(?SemicolonList, ?List)
True if CommaList is a nested term over the ','/2 (';'/2) functor and List is a list expressing the elements of the conjunction. The predicate is deterministic if at least CommaList or List is sufficiently instantiated. If both are partial structures it enumerates ever growing conjunctions and lists. CommaList may be left or right associative on input. When generated, the CommaList is always right associative.

This predicate is typically used to reason about Prolog conjunctions (disjunctions) as many operations are easier on lists than on binary trees over some operator.

ClioPatria (version V3.1.1-59-g7b9a7a3)