aggregate.pl -- Aggregation operators on backtrackable predicates |
ansi_term.pl -- Print decorated text to ANSI consoles |
apply.pl -- Apply predicates on a list |
apply_macros.pl -- Goal expansion rules to avoid meta-calling |
arithmetic.pl |
| arithmetic_expression_value/2 | True when Result unifies with the arithmetic result of evaluating Expression. |  |
| arithmetic_function/1 | Declare a predicate as an arithmetic function. |  |
assoc.pl -- Binary associations |
atom.pl |
| identifier_parts/2 | Parts is a list of atoms that make up Identifier. |  |
| join_identifier_parts/3 | Join parts of an identifier according to Style. |  |
| restyle_identifier/3 | Restyle an identifier by extracting the alnum substrings and joining them together according to Style. |  |
backcomp.pl |
| $apropos_match/2 | True if Needle is a sub atom of Haystack. |  |
| $arch/2 | |  |
| $argv/1 | |  |
| $declare_module/3 | Used in triple20 particle library. |  |
| $home/1 | |  |
| $module/2 | |  |
| $set_prompt/1 | Set the prompt for the toplevel. |  |
| $sig_atomic/1 | Execute Goal without processing signals. |  |
| $strip_module/3 | This used to be an internal predicate. |  |
| $version/1 | |  |
| C/3 | Used to be generated by DCG. |  |
| at_initialization/1 | Register goal only to be run if a saved state is restored. |  |
| call_cleanup/3 | Call Cleanup with an indication of the reason unified to Catcher. |  |
| checklist/2 | |  |
| concat/3 | |  |
| concat_atom/2 | Concatenate a list of atomic values to an atom. |  |
| concat_atom/3 | Concatenate a list of atomic values to an atom, inserting Separator between each consecutive elements. |  |
| convert_time/2 | Convert a time-stamp as obtained though get_time/1 into a textual representation using the C-library function ctime(). |  |
| convert_time/8 | Convert a time stamp, provided by get_time/1, time_file/2, etc. |  |
| current_module/2 | True if Module is a module loaded from File. |  |
| current_mutex/3 | |  |
| current_thread/2 | |  |
| displayq/1 | Write term ignoring operators and quote atoms. |  |
| displayq/2 | Write term ignoring operators and quote atoms. |  |
| eval_license/0 | |  |
| export_list/2 | Module exports the predicates of List. |  |
| feature/2 | Control Prolog flags. |  |
| flush/0 | |  |
| free_variables/2 | Return a list of unbound variables in Term. |  |
| hash/1 | Demands PredInd to be indexed using a hash-table. |  |
| hash_term/2 | If Term is ground, Hash is unified to an integer representing a hash for Term. |  |
| index/1 | Prepare the predicate indicated by Head for multi-argument indexing. |  |
| lock_predicate/2 | |  |
| merge/3 | Merge the ordered sets List1 and List2 into a new ordered list. |  |
| merge_set/3 | Merge the ordered sets Set1 and Set2 into a new ordered set without duplicates. |  |
| message_queue_size/2 | True if Queue holds Size terms. |  |
| proper_list/1 | Old SWI-Prolog predicate to check for a list that really ends in a []. |  |
| read_clause/1 | |  |
| read_clause/2 | |  |
| read_history/6 | |  |
| read_pending_input/3 | |  |
| read_variables/2 | |  |
| read_variables/3 | |  |
| set_base_module/1 | Set the default module from which we inherit. |  |
| set_feature/2 | Control Prolog flags. |  |
| setup_and_call_cleanup/3 | Call Cleanup once after Goal is finished. |  |
| setup_and_call_cleanup/4 | Call Cleanup once after Goal is finished, with Catcher unified to the reason. |  |
| sformat/2 | |  |
| sformat/3 | |  |
| string_to_atom/2 | Bi-directional conversion between string and atom. |  |
| string_to_list/2 | Bi-directional conversion between a string and a list of character codes. |  |
| sublist/3 | Succeeds if List2 unifies with a list holding those terms for which call(Goal, Elem) succeeds. |  |
| substring/4 | Predecessor of sub_string using 1-based Offset. |  |
| sumlist/2 | True when Sum is the list of all numbers in List. |  |
| thread_at_exit/1 | Register Goal to be called when the calling thread exits. |  |
| trie_insert_new/3 | |  |
| unlock_predicate/2 | |  |
| write_ln/1 | |  |
base32.pl -- Base32 encoding and decoding |
base64.pl -- Base64 encoding and decoding |
broadcast.pl -- Event service |
charsio.pl -- I/O on Lists of Character Codes |
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 |
| is_digit/3 | Succeeds if `C' is a digit using `Base' as base and `Weight' represents its value. |  |
| is_paren/2 | True if Open is the open-parenthesis of Close. |  |
| to_lower/2 | Downcase a character code. |  |
| to_upper/2 | Upcase a character code. |  |
| upper_lower/2 | True when U is the character code of an uppercase character and L is the character code of the corresponding lowercase character. |  |
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 |
| edit/0 | Edit associated or script file. |  |
| edit/1 | Edit indicated object. |  |
| edit_command/2 | This predicate should specify the shell-command called to invoke the user's editor. |  |
| locate/2 | Locate object from the specified location. |  |
| locate/3 | |  |
| select_location/3 | |  |
error.pl |
| current_encoding/1 | True if Name is the name of a supported encoding. |  |
| current_type/3 | True when Type is a currently defined type and Var satisfies Type of the body term Body succeeds. |  |
| domain_error/2 | The argument is of the proper type, but has a value that is outside the supported values. |  |
| existence_error/2 | Culprit is of the correct type and correct domain, but there is no existing (external) resource of type ObjectType that is represented by it. |  |
| existence_error/3 | Culprit is of the correct type and correct domain, but there is no existing (external) resource of type ObjectType that is represented by it in the provided set. |  |
| has_type/2 | True if Term satisfies Type. |  |
| instantiation_error/1 | An argument is under-instantiated. |  |
| is_of_type/2 | True if Term satisfies Type. |  |
| must_be/2 | True if Term satisfies the type constraints for Type. |  |
| permission_error/3 | It is not allowed to perform Operation on (whatever is represented by) Culprit that is of the given PermissionType (in fact, the ISO Standard is confusing and vague about these terms' meaning). |  |
| representation_error/1 | A representation error indicates a limitation of the implementation. |  |
| resource_error/1 | A goal cannot be completed due to lack of resources. |  |
| syntax_error/1 | A text has invalid syntax. |  |
| type_error/2 | Tell the user that Culprit is not of the expected ValidType. |  |
| uninstantiation_error/1 | An argument is over-instantiated. |  |
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 -- Describe Prolog Terms |
gensym.pl -- Generate unique symbols |
git.pl -- Run GIT commands |
hashtable.pl |
| ht_del/3 | Delete Key-Value from HT. |  |
| ht_gen/3 | True when Key-Value is in HT. |  |
| ht_get/3 | True when Key is in HT and associated with Value. |  |
| ht_is_hashtable/1 | True when HT is a hash table. |  |
| ht_keys/2 | True when Keys is an ordered set of all keys in HT. |  |
| ht_new/1 | Create a new hash table. |  |
| ht_pairs/2 | True when Pairs and HT represent the same association. |  |
| ht_put/3 | Add a Key-Value to HT. |  |
| ht_put/5 | Add Key-Value to HT. |  |
| ht_put_new/3 | As ht_put/3, but fails if Key is already in HT instead of updating the associated value. |  |
| ht_size/2 | True when Size is the number of key-value pairs in HT. |  |
| ht_update/4 | True when HT holds Key-Old before and Key-New after this call. |  |
heaps.pl -- heaps/priority queues |
help.pl |
| apropos/1 | Print objects from the manual whose name or summary match with Query. |  |
| help/0 | Show help for What. |  |
| help/1 | Show help for What. |  |
| help_text/2 | When Predicate is a term of the form Name/Arity for which documentation exists, HelpText is the documentation in textual format (parsed from the HTML help). |  |
| show_html_hook/1 | Hook called to display the extracted HTML document. |  |
increval.pl -- Incremental dynamic predicate modification |
intercept.pl -- Intercept and signal interface |
iostream.pl -- Utilities to deal with streams |
| close_any/1 | Execute the Close closure returned by open_any/5. |  |
| open_any/5 | Establish a stream from Specification that should be closed using Close, which can either be called or passed to close_any/1. |  |
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 -- Macro expansion |
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 |
| current_temporary_module/1 | True when we are executing in the given temporary module context. |  |
| in_temporary_module/3 | Run Goal on temporary loaded sources and discard the module and loaded predicates after completion. |  |
nb_set.pl -- Non-backtrackable sets |
occurs.pl |
| contains_term/2 | Succeeds if Sub is contained in Term (=, deterministically). |  |
| contains_var/2 | Succeeds if Sub is contained in Term (==, deterministically). |  |
| free_of_term/2 | Succeeds of Sub does not unify to any subterm of Term. |  |
| free_of_var/2 | Succeeds of Sub is not equal (==) to any subterm of Term. |  |
| occurrences_of_term/3 | Count the number of SubTerms in Term that unify with SubTerm. |  |
| occurrences_of_var/3 | Count the number of SubTerms in Term that are equal to SubTerm. |  |
| sub_term/2 | Generates (on backtracking) all subterms of Term. |  |
| sub_term_shared_variables/3 | If Sub is a sub term of Term, Vars is bound to the list of variables in Sub that also appear outside Sub in Term. |  |
| sub_var/2 | Generates (on backtracking) all subterms (==) of Term. |  |
operators.pl -- Manage operators |
option.pl -- Option list processing |
optparse.pl -- command line parsing |
ordsets.pl -- Ordered set manipulation |
oset.pl |
| oset_addel/3 | Ordered set element addition. |  |
| oset_delel/3 | Ordered set element deletion. |  |
| oset_diff/3 | Ordered set difference. |  |
| oset_dint/2 | Distributed intersection. |  |
| oset_dunion/2 | Distributed union. |  |
| oset_int/3 | ordered set intersection. |  |
| oset_is/1 | check that OSet in correct format (standard order). |  |
| oset_power/2 | True when PSet is the powerset of Set. |  |
| oset_union/3 | Union is the union of OSet1 and OSet2. |  |
pairs.pl -- Operations on key-value lists |
persistency.pl -- Provide persistent dynamic predicates |
pio.pl -- Pure I/O |
portray_text.pl |
| portray_text/1 | Switch portraying on or off. |  |
| set_portray_text/2 | Set options for portraying. |  |
| set_portray_text/3 | Set options for portraying. |  |
pprint.pl -- Pretty Print Prolog terms |
predicate_options.pl -- Access and analyse predicate options |
prolog_autoload.pl -- Autoload all dependencies |
prolog_breakpoints.pl -- Manage Prolog break-points |
prolog_clause.pl |
prolog_code.pl -- Utilities for reasoning about code |
prolog_codewalk.pl |
| prolog_program_clause/2 | True when ClauseRef is a reference for clause in the program. |  |
| prolog_walk_code/1 | Walk over all loaded (user) Prolog code. |  |
| subterm_pos/5 | True when SubTerm is a sub term of Term, compared using Cmp, TermPosition describes the term layout of Term and SubTermPos describes the term layout of SubTerm. |  |
prolog_colour.pl -- Prolog syntax colouring support. |
prolog_coverage.pl -- Coverage analysis tool |
prolog_debug.pl -- User level debugging tools |
prolog_format.pl -- Analyse format specifications |
prolog_jiti.pl -- Just In Time Indexing (JITI) utilities |
prolog_metainference.pl -- Infer meta-predicate properties |
prolog_pack.pl -- A package manager for Prolog |
prolog_profile.pl |
| profile/1 | Run once(Goal) under the execution profiler. |  |
| profile/2 | Run once(Goal) under the execution profiler. |  |
| profile_data/1 | Gather all relevant data from profiler. |  |
| profile_procedure_data/2 | Collect data for Pred. |  |
| show_profile/1 | Display last collected profiling data. |  |
prolog_source.pl -- Examine Prolog source-files |
prolog_stack.pl |
| backtrace/1 | Get and print a stacktrace to the user_error stream. |  |
| get_prolog_backtrace/2 | Obtain a backtrace from the current location. |  |
| get_prolog_backtrace/3 | Obtain a backtrace from the current location. |  |
| print_last_choicepoint/0 | Print details on the last open choice point. |  |
| print_last_choicepoint/2 | |  |
| print_prolog_backtrace/2 | Print a stacktrace in human readable form to Stream. |  |
| print_prolog_backtrace/3 | Print a stacktrace in human readable form to Stream. |  |
| prolog_stack_frame_property/2 | True when Property is a property of Frame. |  |
| stack_guard/1 | Dynamic multifile hook that is normally not defined. |  |
| stack_guard/1 | Dynamic multifile predicate. |  |
prolog_trace.pl |
| list_tracing/0 | List predicates we are currently tracing. |  |
| notraceall/0 | Remove all trace points. |  |
| trace/1 | Print passes through ports of specified predicates. |  |
| trace/2 | Print passes through ports of specified predicates. |  |
| tracing/2 | True if Spec is traced using Ports. |  |
prolog_versions.pl -- Demand specific (Prolog) versions |
prolog_wrap.pl -- Wrapping predicates |
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 |
| getrand/1 | Query/set the state of the random generator. |  |
| maybe/0 | Succeed/fail with equal probability (variant of maybe/1). |  |
| maybe/1 | Succeed with probability P, fail with probability 1-P. |  |
| maybe/2 | Succeed with probability K/N (variant of maybe/1). |  |
| random/1 | Binds R to a new random float in the open interval (0.0,1.0). |  |
| random/3 | Generate a random integer or float in a range. |  |
| random_between/3 | Binds R to a random integer in [L,U] (i.e., including both L and U). |  |
| random_member/2 | X is a random member of List. |  |
| random_numlist/4 | Unify List with an ascending list of integers between L and U (inclusive). |  |
| random_perm2/4 | Does X=A,Y=B or X=B,Y=A with equal probability. |  |
| random_permutation/2 | Permutation is a random permutation of List. |  |
| random_select/3 | Randomly select or insert an element. |  |
| random_subseq/3 | Selects a random subsequence Subseq of List, with Complement containing all elements of List that were not selected. |  |
| randseq/3 | S is a list of K unique random integers in the range 1..N. |  |
| randset/3 | S is a sorted list of K unique random integers in the range 1..N. |  |
| setrand/1 | Query/set the state of the random generator. |  |
rbtrees.pl -- Red black trees |
readln.pl |
readutil.pl -- Read utilities |
record.pl -- Access compound arguments by name |
sandbox.pl -- Sandboxed Prolog code |
settings.pl -- Setting management |
shlib.pl |
| compat_arch/2 | User definable hook to establish if Arch1 is compatible with Arch2 when running a shared object. |  |
| current_foreign_library/2 | Query currently loaded shared libraries. |  |
| load_foreign_library/1 | Load a shared object or DLL. |  |
| load_foreign_library/2 | Load a shared object or DLL. |  |
| reload_foreign_libraries/0 | Reload all foreign libraries loaded (after restore of a state created using qsave_program/2. |  |
| unload_foreign_library/1 | Unload a shared object or DLL. |  |
| unload_foreign_library/2 | Unload a shared object or DLL. |  |
| use_foreign_library/1 | Load and install a foreign library as load_foreign_library/1,2 and register the installation using initialization/2 with the option now. |  |
| use_foreign_library/2 | Load and install a foreign library as load_foreign_library/1,2 and register the installation using initialization/2 with the option now. |  |
solution_sequences.pl -- Modify solution sequences |
sort.pl |
statistics.pl |
| call_time/2 | Call Goal as call/1, unifying Time with a dict that provides information on the resource usage. |  |
| call_time/3 | Call Goal as call/1, unifying Time with a dict that provides information on the resource usage. |  |
| statistics/0 | Print information about resource usage using print_message/2. |  |
| statistics/1 | Stats is a dict representing the same information as statistics/0. |  |
| thread_statistics/2 | Obtain statistical information about a single thread. |  |
| time/1 | Execute Goal, reporting statistics to the user. |  |
streams.pl |
| with_output_to/3 | Run Goal and once/1 while capturing all output to all streams (current_output, user_output and user_error) in the string Output. |  |
strings.pl -- String utilities |
system.pl -- System utilities |
tables.pl -- XSB interface to tables |
terms.pl -- Term manipulation |
thread.pl -- High level thread primitives |
| 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 -- Resource bounded thread management |
threadutil.pl -- Interactive thread utilities |
| attach_console/0 | Create a new console and make the standard Prolog streams point to it. |  |
| attach_console/1 | Create a new console and make the standard Prolog streams point to it. |  |
| join_threads/0 | Join all terminated threads. |  |
| tbacktrace/1 | Print a backtrace for Thread to the stream user_error of the calling thread. |  |
| tbacktrace/2 | Print a backtrace for Thread to the stream user_error of the calling thread. |  |
| tdebug/0 | Enable debug-mode, trapping the graphical debugger on reaching spy-points or errors. |  |
| tdebug/1 | Enable debug-mode, trapping the graphical debugger on reaching spy-points or errors. |  |
| thread_has_console/0 | True when the calling thread has an attached console. |  |
| threads/0 | List currently known threads with their status. |  |
| tnodebug/0 | Disable debug-mode in all threads or the specified Thread. |  |
| tnodebug/1 | Disable debug-mode in all threads or the specified Thread. |  |
| tprofile/1 | Profile the operation of Thread until the user hits a key. |  |
| tspy/1 | Trap the graphical debugger on reaching Spec in the specified or any thread. |  |
| tspy/2 | Trap the graphical debugger on reaching Spec in the specified or any thread. |  |
| with_stopped_threads/2 | Stop all threads except the caller while running once(Goal). |  |
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 |
| when/2 | Execute Goal when Condition is satisfied. |  |
writef.pl -- Old-style formatted write |
www_browser.pl -- Open a URL in the users browser |
yall.pl -- Lambda expressions |
zip.pl -- Access resource ZIP archives |