- swipl
- library
- error.pl
- debug.pl
- apply.pl -- Apply predicates on a list
- lists.pl
- broadcast.pl -- Event service
- shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
- option.pl -- Option list processing
- thread_pool.pl -- Resource bounded thread management
- gensym.pl -- Generate unique symbols
- settings.pl
- arithmetic.pl -- Extensible arithmetic
- main.pl -- Provide entry point for scripts
- readutil.pl -- Read utilities
- operators.pl -- Manage operators
- pairs.pl
- prolog_source.pl -- Examine Prolog source-files
- quasi_quotations.pl -- Define Quasi Quotation syntax
- url.pl -- Analysing and constructing URL
- 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 -- Finding and counting sub-terms
- ordsets.pl -- Ordered set manipulation
- assoc.pl -- Binary associations
- ugraphs.pl -- Graph manipulation library
- solution_sequences.pl -- Modify solution sequences
- atom.pl -- Operations on atoms
- prolog_pack.pl
- git.pl
- ctypes.pl
- utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
- base64.pl -- Base64 encoding and decoding
- persistency.pl -- Provide persistent dynamic predicates
- pure_input.pl -- Pure Input from files and streams
- nb_set.pl -- Non-backtrackable sets
- aggregate.pl -- Aggregation operators on backtrackable predicates
- csv.pl -- Process CSV (Comma-Separated Values) data
- 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
- dif.pl -- The dif/2 constraint
- thread.pl -- High level thread primitives
- predicate_options.pl
- rbtrees.pl -- Red black trees
- nb_rbtrees.pl -- Non-backtrackable operations on red black trees
- sandbox.pl
- prolog_format.pl -- Analyse format specifications
- random.pl
- pprint.pl -- Pretty Print Prolog terms
- modules.pl -- Module utility predicates
- lazy_lists.pl -- Lazy list handling
- edinburgh.pl -- Some traditional Edinburgh predicates
- prolog_clause.pl
- prolog_breakpoints.pl
- dicts.pl -- Dict utilities
- threadutil.pl -- Interactive thread utilities
- backcomp.pl -- Backward compatibility
- date.pl -- Process dates and times
- oset.pl -- Ordered set manipulation
- listing.pl
- make.pl -- Reload modified source files
- heaps.pl -- heaps/priority queues
- prolog_coverage.pl -- Coverage analysis tool
- edit.pl -- Editor interface
- ansi_term.pl -- Print decorated text to ANSI consoles
- check.pl
- prolog_codewalk.pl -- Prolog code walker
- shell.pl -- Elementary shell commands
- charsio.pl -- I/O on Lists of Character Codes
- intercept.pl -- Intercept and signal interface
- terms.pl -- Term manipulation
- portray_text.pl
- prolog_profile.pl -- Execution profiler
- quintus.pl
- zip.pl
- optparse.pl -- command line parsing
- prolog_debug.pl -- User level debugging tools
- base32.pl -- Base32 encoding and decoding
- codesio.pl -- I/O on Lists of Character Codes
- coinduction.pl -- Co-Logic Programming
- sort.pl
- statistics.pl
- varnumbers.pl -- Utilities for numbered terms
- when.pl -- Conditional coroutining
- prolog_trace.pl -- Print access to predicates
- prolog_metainference.pl -- Infer meta-predicate properties
- hashtable.pl
- prolog_versions.pl
- tables.pl -- XSB interface to tables
- prolog_stack.pl -- Examine the Prolog stack
- macros.pl
- system.pl
- tty.pl
- prolog_autoload.pl
- strings.pl -- String utilities
- prolog_wrap.pl -- Wrapping predicates
- streams.pl
- increval.pl -- Incremental dynamic predicate modification
- prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
- exceptions.pl
- writef.pl -- Old-style formatted write
- prolog_history.pl -- Per-directory persistent commandline history
- prolog_config.pl -- Provide configuration information
- wfs.pl
- rwlocks.pl
- tableutil.pl -- Table inspection and statistics utilities
- files.pl
- help.pl -- Text based manual
- explain.pl -- Describe Prolog Terms
- fastrw.pl -- Fast reading and writing of terms
- qsave.pl
- prolog_qlfmake.pl -- Compile the library to QLF format
- library
- 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.