- 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
- library
- argv_options(:Argv, -Positional, -Options, +ParseOptions) is det
- As argv_options/3 in guided mode, Currently this version allows
parsing argument options throwing an exception rather than calling
halt/1 by passing an empty list to ParseOptions. ParseOptions:
- on_error(+Goal)
- If Goal is
halt(Code), exit with Code. Other goals are currently not supported. - options_after_arguments(+Boolean)
- If
false(defaulttrue), stop parsing after the first positional argument, returning options that follow this argument as positional arguments. E.g,-x file -yresults in positional arguments[file, '-y'] - unknown_option(+Mode)
- One of
error(default) orpass. Usingpass, the option is passed in Positional. Multi-flag short options may be processed partially. For example, if-vis defined and-ivis in Argv, Positional receives'-i'and the option defined with-vis added to Options.
- To be done
- - When passing unknown options we may wish to process multi-flag options as a whole or not at all rather than passing the unknown flags.