aggregate.pl -- Aggregation operators on backtrackable predicates |
ansi_term.pl |
| 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 |
| convlist/3 | Similar to maplist/3, but elements for which call(Goal, ElemIn, _) fails are omitted from ListOut. |  |
| exclude/3 | Filter elements for which Goal fails. |  |
| foldl/4 | Fold an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("fold-left"), using columns of m list elements as arguments for Goal. |  |
| foldl/5 | Fold an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("fold-left"), using columns of m list elements as arguments for Goal. |  |
| foldl/6 | Fold an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("fold-left"), using columns of m list elements as arguments for Goal. |  |
| foldl/7 | Fold an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("fold-left"), using columns of m list elements as arguments for Goal. |  |
| include/3 | Filter elements for which Goal succeeds. |  |
| maplist/2 | True if Goal is successfully applied on all matching elements of the list. |  |
| maplist/3 | True if Goal is successfully applied on all matching elements of the list. |  |
| maplist/4 | True if Goal is successfully applied on all matching elements of the list. |  |
| maplist/5 | True if Goal is successfully applied on all matching elements of the list. |  |
| partition/4 | Filter elements of List according to Pred. |  |
| partition/5 | Filter List according to Pred in three sets. |  |
| scanl/4 | Scan an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("scan-left"), using columns of m list elements as arguments for Goal. |  |
| scanl/5 | Scan an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("scan-left"), using columns of m list elements as arguments for Goal. |  |
| scanl/6 | Scan an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("scan-left"), using columns of m list elements as arguments for Goal. |  |
| scanl/7 | Scan an ensemble of m (0 <= m <= 4) lists of length n head-to-tail ("scan-left"), using columns of m list elements as arguments for Goal. |  |
apply_macros.pl -- Goal expansion rules to avoid meta-calling |
| apply_macros_sentinel/0 | Used to detect that library(apply_macros) is loaded into the current context explicitly. |  |
| expand_phrase/2 | Provide goal-expansion for PhraseGoal. |  |
| expand_phrase/4 | Provide goal-expansion for PhraseGoal. |  |
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/2 | Translates between plaintext and base32 encoded atom or string. |  |
| base32/3 | Encode/decode list of character codes using base32. |  |
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 |
| check/0 | Run all consistency checks defined by checker/2. |  |
| checker/2 | Register code validation routines. |  |
| list_autoload/0 | Report predicates that may be auto-loaded. |  |
| list_cross_module_calls/0 | List calls from one module to another using Module:Goal where the callee is not defined exported, public or multifile, i.e., where the callee should be considered private. |  |
| list_format_errors/0 | List argument errors for format/2,3. |  |
| list_format_errors/1 | List argument errors for format/2,3. |  |
| list_rationals/0 | List rational numbers that appear in clauses. |  |
| list_rationals/1 | List rational numbers that appear in clauses. |  |
| list_redefined/0 | Lists predicates that are defined in the global module user as well as in a normal module; that is, predicates for which the local definition overrules the global default definition. |  |
| list_strings/0 | List strings that appear in clauses. |  |
| list_strings/1 | List strings that appear in clauses. |  |
| list_trivial_fails/0 | List goals that trivially fail because there is no matching clause. |  |
| list_trivial_fails/1 | List goals that trivially fail because there is no matching clause. |  |
| list_undefined/0 | Report undefined predicates. |  |
| list_undefined/1 | Report undefined predicates. |  |
| list_void_declarations/0 | List predicates that have declared attributes, but no clauses. |  |
| string_predicate/1 | Multifile hook to disable list_strings/0 on the given predicate. |  |
| trivial_fail_goal/1 | Multifile hook that tells list_trivial_fails/0 to accept Goal as valid. |  |
| valid_string_goal/1 | Multifile hook that qualifies Goal as valid for list_strings/0. |  |
codesio.pl -- I/O on Lists of Character Codes |
coinduction.pl |
| coinductive/1 | The declaration :- coinductive name/arity, ... defines predicates as coinductive. |  |
csv.pl |
| csv/3 | Prolog DCG to `read/write' CSV data. |  |
| csv/4 | Prolog DCG to `read/write' CSV data. |  |
| csv_options/2 | Compiled is the compiled representation of the CSV processing options as they may be passed into csv//2, etc. |  |
| csv_read_file/2 | Read a CSV file into a list of rows. |  |
| csv_read_file/3 | Read a CSV file into a list of rows. |  |
| csv_read_file_row/3 | True when Row is a row in File. |  |
| csv_read_row/3 | Read the next CSV record from Stream and unify the result with Row. |  |
| csv_read_stream/3 | Read CSV data from Stream. |  |
| csv_write_file/2 | Write a list of Prolog terms to a CSV file. |  |
| csv_write_file/3 | Write a list of Prolog terms to a CSV file. |  |
| csv_write_stream/3 | Write the rows in Data to Stream. |  |
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 |
| date_time_value/3 | Extract values from a date-time structure. |  |
| day_of_the_week/2 | Computes the day of the week for a given date. |  |
| day_of_the_year/2 | Computes the day of the year for a given date. |  |
| parse_time/2 | Stamp is a timestamp created from parsing Text using the representation Format. |  |
| parse_time/3 | Stamp is a timestamp created from parsing Text using the representation Format. |  |
debug.pl -- Print debug messages and test assertions |
dialect.pl -- Support multiple Prolog dialects |
dicts.pl |
| dict_fill/4 | Implementation for the dicts_to_same_keys/3 OnEmpty closure that fills new cells with a copy of ValueIn. |  |
| dict_keys/2 | True when Keys is an ordered set of the keys appearing in Dict. |  |
| dict_size/2 | True when KeyCount is the number of keys in Dict. |  |
| dicts_join/3 | Join dicts in Dicts that have the same value for Key, provided they do not have conflicting values on other keys. |  |
| dicts_join/4 | Join two lists of dicts (Dicts1 and Dicts2) on Key. |  |
| dicts_same_keys/2 | True if List is a list of dicts that all have the same keys and Keys is an ordered set of these keys. |  |
| dicts_same_tag/2 | True when List is a list of dicts that all have the tag Tag. |  |
| dicts_slice/3 | DictsOut is a list of Dicts only containing values for Keys. |  |
| dicts_to_compounds/4 | True when Dicts and Compounds are lists of the same length and each element of Compounds is a compound term whose arguments represent the values associated with the corresponding keys in Keys. |  |
| dicts_to_same_keys/3 | DictsOut is a copy of DictsIn, where each dict contains all keys appearing in all dicts of DictsIn. |  |
| mapdict/2 | True when all dicts have the same set of keys and call(Goal, Key, V1, ...) is true for all keys in the dicts. |  |
| mapdict/3 | True when all dicts have the same set of keys and call(Goal, Key, V1, ...) is true for all keys in the dicts. |  |
| mapdict/4 | True when all dicts have the same set of keys and call(Goal, Key, V1, ...) is true for all keys in the dicts. |  |
dif.pl -- The dif/2 constraint |
edinburgh.pl -- Some traditional Edinburgh predicates |
edit.pl -- Editor interface |
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 |
| gensym/2 | Generate <Base>1, <Base>2, etc atoms on each subsequent call. |  |
| reset_gensym/0 | Reset gensym for all registered keys. |  |
| reset_gensym/1 | Restart generation of identifiers from Base at <Base>1. |  |
git.pl |
| git/2 | Run a GIT command. |  |
| git_branches/2 | True when Branches is the list of branches in the repository. |  |
| git_default_branch/2 | True when BranchName is the current branch of a repository. |  |
| git_default_branch/2 | True when BranchName is the default branch of a repository. |  |
| git_describe/2 | Describe the running version based on GIT tags and hashes. |  |
| git_hash/2 | Return the hash of the indicated object. |  |
| git_ls_remote/3 | Execute git ls-remote against the remote repository to fetch references from the remote. |  |
| git_ls_tree/2 | True when Entries is a list of entries in the the GIT repository, Each entry is a term:. |  |
| git_open_file/4 | Open the file File in the given bare GIT repository on the given branch (treeisch). |  |
| git_process_output/3 | Run a git-command and process the output with OnOutput, which is called as call(OnOutput, Stream). |  |
| git_remote_branches/2 | Exploit git_ls_remote/3 to fetch the branches from a remote repository without downloading it. |  |
| git_remote_url/3 | URL is the remote (fetch) URL for the given Remote. |  |
| git_shortlog/3 | Fetch information like the GitWeb change overview. |  |
| git_show/4 | Fetch info from a GIT commit. |  |
| git_tags/2 | True when Tags is a list of git tags defined on the repository. |  |
| git_tags_on_branch/3 | Tags is a list of tags in Branch on the GIT repository Dir, most recent tag first. |  |
| is_git_directory/1 | True if Directory is a git directory (Either checked out or bare). |  |
| is_git_hash/1 | True when Atom represents a GIT hash, i.e., a 40 digit hexadecimal string. |  |
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 |
| add_to_heap/4 | Adds Key with priority Priority to Heap0, constructing a new heap in Heap. |  |
| delete_from_heap/4 | Deletes Key from Heap0, leaving its priority in Priority and the resulting data structure in Heap. |  |
| empty_heap/1 | True if Heap is an empty heap. |  |
| get_from_heap/4 | Retrieves the minimum-priority pair Priority-Key from Heap0. |  |
| heap_size/2 | Determines the number of elements in Heap. |  |
| heap_to_list/2 | Constructs a list List of Priority-Element terms, ordered by (ascending) priority. |  |
| is_heap/1 | Returns true if X is a heap. |  |
| list_to_heap/2 | If List is a list of Priority-Element terms, constructs a heap out of List. |  |
| merge_heaps/3 | Merge the two heaps Heap0 and Heap1 in Heap. |  |
| min_of_heap/3 | Unifies Key with the minimum-priority element of Heap and Priority with its priority value. |  |
| min_of_heap/5 | Gets the two minimum-priority elements from Heap. |  |
| singleton_heap/3 | True if Heap is a heap with the single element Priority-Key. |  |
help.pl -- Text based manual |
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. |  |
intercept.pl |
| intercept/3 | Run Goal as call/1. |  |
| intercept/4 | Similar to intercept/3, but the copy of Handler is called as call(Copy,Arg), which allows passing large context arguments or arguments subject to unification or destructive assignment. |  |
| intercept_all/4 | True when List contains all instances of Template that have been sent using send_signal/1 where the argument unifies with Ball. |  |
| nb_intercept_all/4 | As intercept_all/4, but backtracing inside Goal does not reset List. |  |
| send_signal/1 | If this predicate is called from a sub-goal of intercept/3, execute the associated Handler of the intercept/3 environment. |  |
| send_silent_signal/1 | As send_signal/1, but succeed silently if there is no matching intercept environment. |  |
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 -- List Manipulation |
main.pl -- Provide entry point for scripts |
make.pl -- Reload modified source files |
modules.pl -- Module utility predicates |
nb_set.pl -- Non-backtrackable sets |
occurs.pl -- Finding and counting sub-terms |
operators.pl -- Manage operators |
option.pl |
| dict_options/2 | Convert between an option list and a dictionary. |  |
| merge_options/3 | Merge two option sets. |  |
| meta_options/3 | Perform meta-expansion on options that are module-sensitive. |  |
| option/2 | Get an Option from Options. |  |
| option/3 | Get an Option from Options. |  |
| select_option/3 | Get and remove Option from Options. |  |
| select_option/4 | Get and remove Option with default value. |  |
optparse.pl -- command line parsing |
ordsets.pl |
| is_ordset/1 | True if Term is an ordered set. |  |
| list_to_ord_set/2 | Transform a list into an ordered set. |  |
| ord_add_element/3 | Insert an element into the set. |  |
| ord_del_element/3 | Delete an element from an ordered set. |  |
| ord_disjoint/2 | True if Set1 and Set2 have no common elements. |  |
| ord_empty/1 | True when List is the empty ordered set. |  |
| ord_intersect/2 | True if both ordered sets have a non-empty intersection. |  |
| ord_intersect/3 | Intersection holds the common elements of Set1 and Set2. |  |
| ord_intersection/2 | Intersection of a powerset. |  |
| ord_intersection/3 | Intersection holds the common elements of Set1 and Set2. |  |
| ord_intersection/4 | Intersection and difference between two ordered sets. |  |
| ord_memberchk/2 | True if Element is a member of OrdSet, compared using ==. |  |
| ord_selectchk/3 | Selectchk/3, specialised for ordered sets. |  |
| ord_seteq/2 | True if Set1 and Set2 have the same elements. |  |
| ord_subset/2 | Is true if all elements of Sub are in Super. |  |
| ord_subtract/3 | Diff is the set holding all elements of InOSet that are not in NotInOSet. |  |
| ord_symdiff/3 | Is true when Difference is the symmetric difference of Set1 and Set2. |  |
| ord_union/2 | True if Union is the union of all elements in the superset SetOfSets. |  |
| ord_union/3 | Union is the union of Set1 and Set2. |  |
| ord_union/4 | True iff ord_union(Set1, Set2, Union) and ord_subtract(Set2, Set1, New). |  |
oset.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/1 | Switch portraying on or off. |  |
| set_portray_text/2 | Set options for portraying. |  |
| set_portray_text/3 | Set options for portraying. |  |
pprint.pl |
| print_term/2 | Pretty print a Prolog term. |  |
predicate_options.pl |
| assert_predicate_options/4 | As predicate_options(:PI, +Arg, +Options). |  |
| check_predicate_option/3 | Verify predicate options at runtime. |  |
| check_predicate_options/0 | Analyse loaded program for erroneous options. |  |
| check_predicate_options/1 | Verify calls to predicates that have options in all clauses of the predicate indicated by PredicateIndicator. |  |
| current_option_arg/2 | True when Arg of PI processes predicate options. |  |
| current_predicate_option/3 | True when Arg of PI processes Option. |  |
| current_predicate_options/3 | True when Options is the current active option declaration for PI on Arg. |  |
| derive_predicate_options/0 | Derive new predicate option declarations. |  |
| derived_predicate_options/1 | Derive predicate option declarations for a module. |  |
| derived_predicate_options/3 | Derive option arguments using static analysis. |  |
| predicate_options/3 | Declare that the predicate PI processes options on Arg. |  |
| retractall_predicate_options/0 | Remove all dynamically (derived) predicate options. |  |
prolog_autoload.pl -- Autoload all dependencies |
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_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_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_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 -- 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 |
| 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 |
| cmp_versions/3 | Compare to versions. |  |
| require_prolog_version/2 | Claim that the running Prolog version is at least version Required and provides the requested Features. |  |
| require_version/3 | Require Component to have version CmpRequired, while Component is know to have version Available. |  |
prolog_wrap.pl |
| current_predicate_wrapper/4 | True if Head is wrapped with Body. |  |
| unwrap_predicate/2 | Remove the outermost wrapper whose name unifies with Name. | |
| wrap_predicate/4 | Wrap the predicate referenced by Head using Body. |  |
prolog_xref.pl |
| called_by/2 | If this succeeds, the cross-referencer assumes Goal may call any of the goals in ListOfCalled. |  |
| called_by/4 | True when Called is a list of callable terms called from Goal, handled by the predicate Module:Goal and executed in the context of the module Context. |  |
| hook/1 | True if Goal is a hook that is called spontaneously (e.g., from foreign code). |  |
| meta_goal/2 | Define meta-predicates. |  |
| xref_called/3 | True when By is called from Called in Source. |  |
| xref_called/4 | True when By is called from Called in Source. |  |
| xref_called/5 | True when By is called from Called in Source. |  |
| xref_clean/1 | Reset the database for the given source. |  |
| xref_comment/3 | Is true when Source has a section comment with Title and Comment. |  |
| xref_comment/4 | Is true when Head in Source has the given PlDoc comment. |  |
| xref_current_source/1 | Check what sources have been analysed. |  |
| xref_defined/3 | Test if Goal is accessible in Source. |  |
| xref_definition_line/2 | If the 3th argument of xref_defined contains line info, return this in Line. |  |
| xref_done/2 | Cross-reference executed at Time. |  |
| xref_exported/2 | True when Source exports Head. |  |
| xref_hook/1 | Definition of known hooks. |  |
| xref_meta/2 | True when Called is a list of terms called from Head. |  |
| xref_meta/3 | True when Head calls Called in Source. |  |
| xref_mode/3 | Is true when Source provides a predicate with Mode and determinism. |  |
| xref_module/2 | True if Module is defined in Source. |  |
| xref_op/2 | Give the operators active inside the module. |  |
| xref_option/2 | True when Source was processed using Option. |  |
| xref_prolog_flag/4 | True when Flag is set to Value at Line in Source. |  |
| xref_public_list/3 | Find meta-information about File. |  |
| xref_public_list/4 | Find meta-information about File. |  |
| xref_public_list/6 | Find meta-information about File. |  |
| xref_public_list/7 | Find meta-information about File. |  |
| xref_source/1 | Generate the cross-reference data for Source if not already done and the source is not modified. |  |
| xref_source/2 | Generate the cross-reference data for Source if not already done and the source is not modified. |  |
| xref_source_file/3 | Find named source file from Spec, relative to Src. |  |
| xref_source_file/4 | Find named source file from Spec, relative to Src. |  |
| xref_uses_file/3 | True when Source tries to load a file using Spec. |  |
pure_input.pl -- Pure Input from files and streams |
quasi_quotations.pl -- Define Quasi Quotation syntax |
quintus.pl |
| abs/2 | Unify `Absolute' with the absolute value of `Number'. |  |
| acos/2 | Math library predicates. |  |
| asin/2 | Math library predicates. |  |
| atan/2 | Math library predicates. |  |
| atan2/3 | Math library predicates. |  |
| atom_char/2 | Same as ISO char_code/2. |  |
| ceiling/2 | Math library predicates. |  |
| compile/1 | Compile files. |  |
| cos/2 | Math library predicates. |  |
| current_stream/3 | SICStus/Quintus and backward compatible predicate. |  |
| date/1 | Get current date as date(Y,M,D). |  |
| floor/2 | Math library predicates. |  |
| genarg/3 | Generalised version of ISO arg/3. |  |
| log/2 | Math library predicates. |  |
| log10/2 | Math library predicates. |  |
| midstring/3 | Too difficult to explain. |  |
| midstring/4 | Too difficult to explain. |  |
| midstring/5 | Too difficult to explain. |  |
| midstring/6 | Too difficult to explain. |  |
| no_style_check/1 | Same as SWI-Prolog style_check(-Style). |  |
| on_exception/3 | |  |
| otherwise/0 | For (A -> B ; otherwise -> C). |  |
| pow/3 | Math library predicates. |  |
| prolog_flag/2 | Same as ISO current_prolog_flag/2. |  |
| raise_exception/1 | Quintus compatible exception handling. |  |
| round/2 | Math library predicates. |  |
| sign/2 | Math library predicates. |  |
| simple/1 | Term is atomic or a variable. |  |
| sin/2 | Math library predicates. |  |
| skip_line/0 | Skip the rest of the current line (on Stream). |  |
| skip_line/1 | Skip the rest of the current line (on Stream). |  |
| sqrt/2 | Math library predicates. |  |
| stream_position/3 | True when Old is the current position in Stream and the stream has been repositioned to New. |  |
| tan/2 | Math library predicates. |  |
| unix/1 | This predicate provides a partial emulation of the corresponding Quintus predicate. |  |
random.pl -- Random numbers |
rbtrees.pl -- Red black trees |
readln.pl |
readutil.pl -- Read utilities |
record.pl -- Access compound arguments by name |
rwlocks.pl |
| with_rwlock/3 | Run Goal, synchronized with LockId in ModeSpec. |  |
| with_rwlock/4 | Run Goal, synchronized with LockId in ModeSpec. |  |
sandbox.pl |
| sandbox_allowed_directive/1 | Throws an exception if G is not considered a safe directive. |  |
| sandbox_allowed_expansion/1 | Throws an exception if G is not considered a safe expansion goal. |  |
| sandbox_allowed_goal/1 | Throw an exception if it is not safe to call G. |  |
| format_calls/3 | Find ~@ calls from Format and Args. |  |
| safe_call/1 | Call Goal if it complies with the sandboxing rules. |  |
| safe_directive/1 | Hook to declare additional directives as safe. |  |
| safe_global_variable/1 | Declare the given global variable safe to write to. |  |
| safe_goal/1 | True if calling Goal provides no security risc. |  |
| safe_meta/2 | Hook. |  |
| safe_primitive/1 | True if Goal is safe to call (i.e., cannot access dangerous system-resources and cannot upset other parts of the Prolog process). |  |
| safe_prolog_flag/2 | True if it is safe to set the flag Flag to Value. |  |
settings.pl |
| convert_setting_text/3 | Converts from textual form to Prolog Value. |  |
| current_setting/1 | True if Setting is a currently defined setting. |  |
| env/2 | Evaluate environment variables on behalf of arithmetic expressions. |  |
| env/3 | Evaluate environment variables on behalf of arithmetic expressions. |  |
| list_settings/0 | List settings to current_output. |  |
| list_settings/1 | List settings to current_output. |  |
| load_settings/1 | Load local settings from File. |  |
| load_settings/2 | Load local settings from File. |  |
| restore_setting/1 | Restore the value of setting Name to its default. |  |
| save_settings/0 | Save modified settings to File. |  |
| save_settings/1 | Save modified settings to File. |  |
| set_setting/2 | Change a setting. |  |
| set_setting_default/2 | Change the default for a setting. |  |
| setting/2 | True when Name is a currently defined setting with Value. |  |
| setting/4 | Define a setting. |  |
| setting_property/2 | Query currently defined settings. |  |
shell.pl |
| cd/0 | Change working directory. |  |
| cd/1 | Change working directory. |  |
| dirs/0 | Manage the directory stack:. |  |
| file_style/2 | True when File should be listed as a terminal hyperlink. |  |
| ls/0 | Listing similar to Unix =ls -F=, flagging directories with =/=. |  |
| ls/1 | Listing similar to Unix =ls -F=, flagging directories with =/=. |  |
| mv/2 | Move (Rename) a file. |  |
| popd/0 | Manage the directory stack:. |  |
| pushd/0 | Manage the directory stack:. |  |
| pushd/1 | Manage the directory stack:. |  |
| pwd/0 | Print current working directory. |  |
| rm/1 | Remove (unlink) a file. |  |
| shell/0 | Execute an interactive shell. |  |
shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects) |
solution_sequences.pl -- Modify solution sequences |
sort.pl |
| locale_sort/2 | Sort a list of atoms using the current locale. |  |
| predsort/3 | Sorts similar to sort/2, but determines the order of two terms by calling Compare(-Delta, +E1, +E2). |  |
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 |
| foldsubterms/4 | The predicate foldsubterms/5 calls call(Goal4, SubTerm1, SubTerm2, StateIn, StateOut) for each subterm, including variables, in Term1. |  |
| foldsubterms/5 | The predicate foldsubterms/5 calls call(Goal4, SubTerm1, SubTerm2, StateIn, StateOut) for each subterm, including variables, in Term1. |  |
| mapargs/3 | Term1 and Term2 have the same functor (name/arity) and for each matching pair of arguments call(Goal, A1, A2) is true. |  |
| mapsubterms/3 | Recursively map sub terms of Term1 into subterms of Term2 for every pair for which call(Goal, ST1, ST2) succeeds. |  |
| mapsubterms_var/3 | Recursively map sub terms of Term1 into subterms of Term2 for every pair for which call(Goal, ST1, ST2) succeeds. |  |
| same_functor/2 | True when Term1 and Term2 are terms that have the same functor (Name/Arity). |  |
| same_functor/3 | True when Term1 and Term2 are terms that have the same functor (Name/Arity). |  |
| same_functor/4 | True when Term1 and Term2 are terms that have the same functor (Name/Arity). |  |
| subsumes/2 | True if Generic is unified to Specific without changing Specific. |  |
| subsumes_chk/2 | True if Generic can be made equivalent to Specific without changing Specific. |  |
| term_factorized/3 | Is true when Skeleton is Term where all subterms that appear multiple times are replaced by a variable and Substitution is a list of Var=Value that provides the subterm at the location Var. |  |
| term_size/2 | True if Size is the size in cells occupied by Term on the global (term) stack. |  |
| term_subsumer/3 | General is the most specific term that is a generalisation of Special1 and Special2. |  |
| variant/2 | Same as SWI-Prolog Term1 =@= Term2. |  |
thread.pl -- High level thread primitives |
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 |
| file_name_to_url/2 | Translate between a filename and a file:// URL. |  |
| global_url/3 | Translate a possibly relative URL into an absolute one. |  |
| http_location/2 | Construct or analyze an HTTP location. |  |
| is_absolute_url/1 | True if URL is an absolute URL. |  |
| parse_url/2 | Construct or analyse a URL. |  |
| parse_url/3 | Similar to parse_url/2 for relative URLs. |  |
| parse_url_search/2 | Construct or analyze an HTTP search specification. |  |
| set_url_encoding/2 | Query and set the encoding for URLs. |  |
| url_iri/2 | Convert between a URL, encoding in US-ASCII and an IRI. |  |
| www_form_encode/2 | En/decode to/from application/x-www-form-encoded. |  |
utf8.pl -- UTF-8 encoding/decoding on lists of character codes. |
varnumbers.pl -- Utilities for numbered terms |
wfs.pl |
| answer_residual/2 | True when Goal resolves to a tabled predicate and Residual is the residual goal associated with an answer for Goal. |  |
| call_delays/2 | True when Goal is true with Delays. |  |
| call_residual_program/2 | Call Goal and return the full residual program as a list of Clauses. |  |
| delays_residual_program/2 | Given a delay as returned by call_delays/2, produce a set of clauses the represents the complete residual program responsible for these delays, The program contains at least one loop through tnot/1 and is either inconsistent or has multiple models according to the stable model semantics. |  |
when.pl |
| when/2 | Execute Goal when Condition is satisfied. |  |
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 -- Open a URL in the users browser |
yall.pl |
| //2 | Shorthand for Free/[]>>Lambda. |  |
| //3 | Shorthand for Free/[]>>Lambda. |  |
| //4 | Shorthand for Free/[]>>Lambda. |  |
| //5 | Shorthand for Free/[]>>Lambda. |  |
| //6 | Shorthand for Free/[]>>Lambda. |  |
| //7 | Shorthand for Free/[]>>Lambda. |  |
| //8 | Shorthand for Free/[]>>Lambda. |  |
| //9 | Shorthand for Free/[]>>Lambda. |  |
| >>/2 | Calls a copy of Lambda. |  |
| >>/3 | Calls a copy of Lambda. |  |
| >>/4 | Calls a copy of Lambda. |  |
| >>/5 | Calls a copy of Lambda. |  |
| >>/6 | Calls a copy of Lambda. |  |
| >>/7 | Calls a copy of Lambda. |  |
| >>/8 | Calls a copy of Lambda. |  |
| >>/9 | Calls a copy of Lambda. |  |
| is_lambda/1 | True if Term is a valid Lambda expression. |  |
| lambda_calls/2 | Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N. |  |
| lambda_calls/3 | Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N. |  |
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. | |