aggregate.pl -- Aggregation operators on backtrackable predicates |
ansi_term.pl -- Print decorated text to ANSI consoles |
| ansi_format/3 | Format text with ANSI attributes. |  |
| ansi_get_color/2 | Obtain the RGB color for an ANSI color parameter. |  |
| ansi_hyperlink/2 | Create a hyperlink for a terminal emulator. |  |
| ansi_hyperlink/3 | Create a hyperlink for a terminal emulator. |  |
| tty_url_hook/2 | Hook for location_url/2. |  |
| console_color/2 | Hook that allows for mapping abstract terms to concrete ANSI attributes. | |
| message_line_element/2 | Hook implementation that deals with ansi(+Attr, +Fmt, +Args) in message specifications. |  |
apply.pl -- Apply predicates on a list |
apply_macros.pl -- Goal expansion rules to avoid meta-calling |
arithmetic.pl -- Extensible arithmetic |
assoc.pl -- Binary associations |
atom.pl -- Operations on atoms |
backcomp.pl -- Backward compatibility |
base32.pl -- Base32 encoding and decoding |
base64.pl -- Base64 encoding and decoding |
broadcast.pl |
| broadcast/1 | Broadcast given event. |  |
| broadcast_request/1 | Broadcast given event till accepted. |  |
| listen/2 | Open a channel for listening for events of the given `Templ'. |  |
| listen/3 | Open a channel for listening for events of the given `Templ'. |  |
| listening/3 | returns currently open channels. |  |
| unlisten/1 | Destroy a channel. |  |
| unlisten/2 | Destroy a channel. |  |
| unlisten/3 | Destroy a channel. |  |
charsio.pl |
| atom_to_chars/2 | Convert Atom into a list of character codes. |  |
| atom_to_chars/3 | Convert Atom into a difference list of character codes. |  |
| format_to_chars/3 | Use format/2 to write to a list of character codes. |  |
| format_to_chars/4 | Use format/2 to write to a difference list of character codes. |  |
| number_to_chars/2 | Convert Atom into a list of character codes. |  |
| number_to_chars/3 | Convert Number into a difference list of character codes. |  |
| open_chars_stream/2 | Open Codes as an input stream. |  |
| read_from_chars/2 | Read Codes into Term. |  |
| read_term_from_chars/3 | Read Codes into Term. |  |
| with_output_to_chars/2 | Run Goal as with once/1. |  |
| with_output_to_chars/3 | Run Goal as with once/1. |  |
| with_output_to_chars/4 | Same as with_output_to_chars/3 using an explicit stream. |  |
| write_to_chars/2 | Write a term to a code list. |  |
| write_to_chars/3 | Write a term to a code list. |  |
check.pl -- Consistency checking |
codesio.pl -- I/O on Lists of Character Codes |
coinduction.pl -- Co-Logic Programming |
csv.pl -- Process CSV (Comma-Separated Values) data |
ctypes.pl -- Character code classification |
date.pl -- Process dates and times |
debug.pl -- Print debug messages and test assertions |
dialect.pl -- Support multiple Prolog dialects |
dicts.pl -- Dict utilities |
dif.pl -- The dif/2 constraint |
edinburgh.pl -- Some traditional Edinburgh predicates |
edit.pl -- Editor interface |
error.pl |
exceptions.pl |
| catch/4 | As catch/3, only catching exceptions for which exception(ErrorType,Ball) is true. |  |
| error_term/2 | Describe the formal part of error(Formal,ImplDefined) exceptions. |  |
| exception/2 | If Ball is unbound, adds a delayed goal that tests the error belongs to Type when Ball is instantiated (by catch/3). |  |
| exception_term/2 | Describe exceptions that are not error(Formal, _) terms. |  |
| exception_type/2 | Declare all exceptions subsumed by Term to be an exception of Type. |  |
explain.pl |
| explain/1 | Give an explanation on Term. |  |
| explain/2 | True when Explanation is an explanation of Term. |  |
fastrw.pl |
| fast_read/1 | The next term is read from current standard input and is unified with Term. |  |
| fast_write/1 | Output Term in a way that fast_read/1 and fast_read/2 will be able to read it back. |  |
| fast_write_to_string/3 | Perform a fast-write to the difference-slist String\Tail. |  |
files.pl |
| can_open_file/2 | Succeeds if the user has access to `File' in mode `Mode'. |  |
| chdir/1 | Change Working Directory. |  |
gensym.pl -- Generate unique symbols |
git.pl -- Run GIT commands |
hashtable.pl -- Hash tables |
heaps.pl -- heaps/priority queues |
increval.pl |
| incr_directly_depends/2 | True if Goal1 depends on Goal2 in the IDG. |  |
| incr_invalid_subgoals/1 | List is a sorted list (set) of the incremental subgoals that are currently invalid. |  |
| incr_invalidate_call/1 | This is the XSB name, but the manual says incr_invalidate_calls/1 and the comment with the code suggests this is misnamed. |  |
| incr_invalidate_calls/1 | Invalidate all tables for subgoals of Goal as well as tables that are affected by these. |  |
| incr_is_invalid/1 | True when Subgoal's table is marked as invalid. |  |
| incr_propagate_calls/1 | Activate the monotonic answer propagation similarly to when a new fact is asserted for a monotonic dynamic predicate. |  |
| incr_table_update/0 | Updated all invalid tables. |  |
| incr_trans_depends/2 | True for each pair in the transitive closure of incr_directly_depends(G1, G2). |  |
| is_incremental_subgoal/1 | This predicate non-deterministically unifies Subgoal with incrementally tabled subgoals that are currently table entries. |  |
iostream.pl -- Utilities to deal with streams |
lazy_lists.pl |
| lazy_engine_next/4 | Lazy list iterator for engines. |  |
| lazy_findall/3 | True when List is a lazy list containing the instantiations for Template for each answer of Goal. |  |
| lazy_findall/4 | True when List is a lazy list containing the instantiations for Template for each answer of Goal. |  |
| lazy_get_codes/4 | Lazy list iterator to get character codes from a stream. |  |
| lazy_list/2 | Create a lazy list from a callback. |  |
| lazy_list/3 | Create a lazy list where the next element is defined by. |  |
| lazy_list_iterator/4 | Directive to create a lazy list iterator from a predicate that gets a single next value. |  |
| lazy_list_length/2 | True if Len is the length of the materialized lazy list. |  |
| lazy_list_materialize/1 | Materialize the lazy list. |  |
| lazy_message_queue/4 | Lazy list iterator for message queues. |  |
| lazy_read_lines/4 | Lazy list iterator to read lines from Stream. |  |
| lazy_read_terms/4 | Turn a stream into a lazy list of Prolog terms. |  |
listing.pl -- List programs and pretty print clauses |
lists.pl |
| append/2 | Concatenate a list of lists. |  |
| append/3 | List1AndList2 is the concatenation of List1 and List2. |  |
| clumped/2 | Pairs is a list of Item-Count pairs that represents the run length encoding of Items. |  |
| delete/3 | Delete matching elements from a list. |  |
| flatten/2 | Is true if FlatList is a non-nested version of NestedList. |  |
| intersection/3 | True if Set3 unifies with the intersection of Set1 and Set2. |  |
| is_set/1 | True if Set is a proper list without duplicates. |  |
| last/2 | Succeeds when Last is the last element of List. |  |
| list_to_set/2 | True when Set has the same elements as List in the same order. |  |
| max_list/2 | True if Max is the largest number in List. |  |
| max_member/2 | True when Max is the largest member in the standard order of terms. |  |
| max_member/3 | True when Max is the largest member according to Pred, which must be a 2-argument callable that behaves like (@=<)/2. |  |
| member/2 | True if Elem is a member of List. |  |
| min_list/2 | True if Min is the smallest number in List. |  |
| min_member/2 | True when Min is the smallest member in the standard order of terms. |  |
| min_member/3 | True when Min is the smallest member according to Pred, which must be a 2-argument callable that behaves like (@=<)/2. |  |
| nextto/3 | True if Y directly follows X in List. |  |
| nth0/3 | True when Elem is the Index'th element of List. |  |
| nth0/4 | Select/insert element at index. |  |
| nth1/3 | Is true when Elem is the Index'th element of List. |  |
| nth1/4 | As nth0/4, but counting starts at 1. |  |
| numlist/3 | List is a list [Low, Low+1, ... High]. |  |
| permutation/2 | True when Xs is a permutation of Ys. |  |
| prefix/2 | True iff Part is a leading substring of Whole. |  |
| proper_length/2 | True when Length is the number of elements in the proper list List. |  |
| reverse/2 | Is true when the elements of List2 are in reverse order compared to List1. |  |
| same_length/2 | Is true when List1 and List2 are lists with the same number of elements. |  |
| select/3 | Is true when List1, with Elem removed, results in List2. |  |
| select/4 | Select from two lists at the same position. |  |
| selectchk/3 | Semi-deterministic removal of first element in List that unifies with Elem. |  |
| selectchk/4 | Semi-deterministic version of select/4. |  |
| subseq/3 | Is true when SubList contains a subset of the elements of List in the same order and Complement contains all elements of List not in SubList, also in the order they appear in List. |  |
| subset/2 | True if all elements of SubSet belong to Set as well. |  |
| subtract/3 | Delete all elements in Delete from Set. |  |
| sum_list/2 | Sum is the result of adding all numbers in List. |  |
| union/3 | True if Set3 unifies with the union of the lists Set1 and Set2. |  |
macros.pl |
| expand_macros/5 | Perform macro expansion on TermIn with layout PosIn to produce TermOut with layout PosOut. |  |
| include_macros/3 | Include macros from another module. |  |
| macro_position/1 | True when Position is the position of the macro. |  |
main.pl -- Provide entry point for scripts |
make.pl |
| make/0 | Reload all source files that have been changed since they were loaded. |  |
| make_reload_file/1 | Reload file into the proper module. |  |
modules.pl -- Module utility predicates |
nb_set.pl |
| add_nb_set/2 | Insert Key into the set. |  |
| add_nb_set/3 | Insert Key into the set. |  |
| empty_nb_set/1 | Create an empty non-backtrackable set. |  |
| gen_nb_set/2 | Enumerate the members of a set in the standard order of terms. |  |
| nb_set_to_list/2 | Get the elements of a an nb_set. |  |
| size_nb_set/2 | Unify Size with the number of elements in the set. |  |
occurs.pl -- Finding and counting sub-terms |
operators.pl |
| pop_operators/0 | Revert all changes to the operator table realised since the last push_operators/1. |  |
| pop_operators/1 | Reset operators as pushed by push_operators/2. |  |
| push_op/3 | As op/3, but this call must appear between push_operators/1 and pop_operators/0. |  |
| push_operators/1 | Installs the operators from New, where New is a list of op(Prec, Type, :Name). |  |
| push_operators/2 | Installs the operators from New, where New is a list of op(Prec, Type, :Name). |  |
option.pl -- Option list processing |
optparse.pl -- command line parsing |
ordsets.pl -- Ordered set manipulation |
pairs.pl |
| group_pairs_by_key/2 | Group values with equivalent (==/2) consecutive keys. |  |
| map_list_to_pairs/3 | Create a Key-Value list by mapping each element of List. |  |
| pairs_keys/2 | Remove the values from a list of Key-Value pairs. |  |
| pairs_keys_values/3 | True if Keys holds the keys of Pairs and Values the values. |  |
| pairs_values/2 | Remove the keys from a list of Key-Value pairs. |  |
| transpose_pairs/2 | Swap Key-Value to Value-Key. |  |
persistency.pl -- Provide persistent dynamic predicates |
pio.pl -- Pure I/O |
portray_text.pl -- Portray text |
pprint.pl -- Pretty Print Prolog terms |
predicate_options.pl -- Access and analyse predicate options |
prolog_autoload.pl |
| autoload_all/0 | Force all necessary autoloading to be done now. |  |
| autoload_all/1 | Force all necessary autoloading to be done now. |  |
prolog_breakpoints.pl -- Manage Prolog break-points |
prolog_clause.pl |
prolog_code.pl |
| body_term_calls/2 | True when BodyTerm calls Goal. |  |
| comma_list/2 | True if CommaList is a nested term over the ','/2 (';'/2) functor and List is a list expressing the elements of the conjunction. |  |
| extend_goal/3 | Extend the possibly qualified Goal0 with additional arguments from Extra. |  |
| head_name_arity/3 | Similar to functor/3, but deals with SWI-Prolog's zero-argument callable terms and avoids creating a non-callable term if Name is not an atom and Arity is zero. |  |
| is_control_goal/1 | True if Goal is a compiled Prolog control structure. |  |
| is_predicate_indicator/1 | True when Term is a predicate indicator. |  |
| mkconj/3 | Create a conjunction or disjunction from two terms. |  |
| mkdisj/3 | Create a conjunction or disjunction from two terms. |  |
| most_general_goal/2 | General is the most general version of Goal. |  |
| pi_head/2 | Translate between a PredicateIndicator and a Goal term. |  |
| predicate_label/2 | Create a human-readable label for the given predicate indicator. |  |
| predicate_sort_key/2 | Key is the (module-free) name of the predicate for sorting purposes. |  |
| semicolon_list/2 | True if CommaList is a nested term over the ','/2 (';'/2) functor and List is a list expressing the elements of the conjunction. |  |
prolog_codewalk.pl -- Prolog code walker |
prolog_colour.pl -- Prolog syntax colouring support. |
prolog_config.pl |
| prolog_config/2 | Get information on the configuration of the current Prolog system. |  |
| prolog_dump_runtime_variables/0 | Dump the current configuration in shell format. |  |
prolog_coverage.pl |
| cov_load_data/2 | Reload coverage data from File. |  |
| cov_property/1 | True when coverage analysis satisfies Property. |  |
| cov_reset/0 | Discard all collected coverage data. |  |
| cov_save_data/2 | Save the coverage information to File. |  |
| coverage/1 | As call(Goal), collecting coverage information while Goal is running. |  |
| coverage/2 | Collect and optionally report coverage by Goal. |  |
| report_hook/2 | This hook is called after the data collection. |  |
| show_coverage/1 | Show collected coverage data. |  |
prolog_format.pl -- Analyse format specifications |
prolog_metainference.pl |
| infer_meta_predicate/2 | True when MetaSpec is a meta-predicate specifier for the predicate Head. |  |
| inferred_meta_predicate/2 | True when MetaSpec is an inferred meta-predicate specification for Head. |  |
prolog_pack.pl -- A package manager for Prolog |
prolog_profile.pl -- Execution profiler |
prolog_source.pl |
| quasi_quotation_syntax/2 | True when the quasi quotation syntax Syntax can be loaded from Library. |  |
| xref_close_source/2 | Called by prolog_close_source/1 to close a source previously opened by the hook prolog:xref_open_source/2. |  |
| xref_open_source/2 | Hook to open an xref SourceID. |  |
| directory_source_files/3 | True when Files is a sorted list of Prolog source files in Dir. |  |
| file_alias_path/2 | True if file Alias points to Dir. |  |
| file_name_on_path/2 | True if OnPath a description of File based on the file search path. |  |
| load_quasi_quotation_syntax/2 | Import quasi quotation syntax Syntax from Path into the module specified by the first argument. |  |
| path_segments_atom/2 | Translate between a path represented as a/b/c and an atom representing the same path. |  |
| prolog_canonical_source/2 | Given a user-specification of a source, generate a unique and indexable identifier for it. |  |
| prolog_close_source/1 | Close a stream opened using prolog_open_source/2. |  |
| prolog_file_directives/3 | True when Directives is a list of directives that appear in the source file File. |  |
| prolog_open_source/2 | Open source with given canonical id (see prolog_canonical_source/2) and remove the #! |  |
| prolog_read_source_term/4 | Read a term from a Prolog source-file. |  |
| read_source_term_at_location/3 | Try to read a Prolog term form an arbitrary location inside a file. |  |
| requires_library/2 | known expansion hooks. |  |
| valid_term_position/2 | Check that a Term has an appropriate TermPos layout. |  |
prolog_stack.pl -- Examine the Prolog stack |
prolog_versions.pl -- Demand specific (Prolog) versions |
prolog_xref.pl -- Prolog cross-referencer data collection |
pure_input.pl -- Pure Input from files and streams |
quasi_quotations.pl -- Define Quasi Quotation syntax |
quintus.pl -- Quintus compatibility |
random.pl -- Random numbers |
rbtrees.pl -- Red black trees |
readln.pl |
readutil.pl -- Read utilities |
record.pl -- Access compound arguments by name |
sandbox.pl |
settings.pl -- Setting management |
shell.pl -- Elementary shell commands |
shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects) |
solution_sequences.pl -- Modify solution sequences |
sort.pl |
statistics.pl -- Get information about resource usage |
strings.pl -- String utilities |
system.pl -- System utilities |
tables.pl -- XSB interface to tables |
terms.pl -- Term manipulation |
thread.pl |
| call_in_thread/2 | Run Goal as an interrupt in the context of Thread. |  |
| concurrent/3 | Run Goals in parallel using N threads. |  |
| concurrent_and/2 | Concurrent version of (Generator,Test). |  |
| concurrent_and/3 | Concurrent version of (Generator,Test). |  |
| concurrent_forall/2 | True when Action is true for all solutions of Generate. |  |
| concurrent_forall/3 | True when Action is true for all solutions of Generate. |  |
| concurrent_maplist/2 | Concurrent version of maplist/2. |  |
| concurrent_maplist/3 | Concurrent version of maplist/2. |  |
| concurrent_maplist/4 | Concurrent version of maplist/2. |  |
| first_solution/3 | Try alternative solvers concurrently, returning the first answer. |  |
thread_pool.pl |
| create_pool/1 | Hook to create a thread pool lazily. |  |
| current_thread_pool/1 | True if Name refers to a defined thread pool. |  |
| thread_create_in_pool/4 | Create a thread in Pool. |  |
| thread_pool_create/3 | Create a pool of threads. |  |
| thread_pool_destroy/1 | Destroy the thread pool named Name. |  |
| thread_pool_property/2 | True if Property is a property of thread pool Name. |  |
| worker_exitted/3 | It is possible that '__thread_pool_manager' no longer exists while closing down the process because the manager was killed before the worker. |  |
threadutil.pl -- Interactive thread utilities |
ugraphs.pl -- Graph manipulation library |
url.pl -- Analysing and constructing URL |
utf8.pl -- UTF-8 encoding/decoding on lists of character codes. |
varnumbers.pl -- Utilities for numbered terms |
wfs.pl -- Well Founded Semantics interface |
when.pl -- Conditional coroutining |
writef.pl |
| swritef/2 | Use writef/1 or writef/2 and write the result to a string. |  |
| swritef/3 | Use writef/1 or writef/2 and write the result to a string. |  |
| writef/1 | Formatted write to the current_output. |  |
| writef/2 | Formatted write to the current_output. |  |
www_browser.pl |
| expand_url_path/2 | Expand URL specifications similar to absolute_file_name/3. |  |
| known_browser/2 | True if browser FileBaseName has a remote protocol compatible to Compatible. |  |
| www_open_url/1 | Open URL in running version of the users' browser or start a new browser. |  |
yall.pl -- Lambda expressions |
zip.pl |
| with_zipper/2 | Run Goal while holding ownership over Zipper. |  |
| zip_close/1 | Close a zipper. |  |
| zip_close/2 | Close a zipper. |  |
| zip_open/4 | Create a Zipper, providing access to File. |  |
| zipper_file_info/3 | Obtain information about the current zip entry. |  |
| zipper_goto/2 | Seek Zipper to a specified entry. | |
| zipper_members/2 | True when Members is the list of file names in the Zipper. |  |
| zipper_open_current/3 | Open the current entry as an input stream. | |