aggregate.pl -- Aggregation operators on backtrackable predicates |
| aggregate/3 | Aggregate bindings in Goal according to Template. |  |
| aggregate/4 | Aggregate bindings in Goal according to Template. |  |
| aggregate_all/3 | Aggregate bindings in Goal according to Template. |  |
| aggregate_all/4 | Aggregate bindings in Goal according to Template. |  |
| foldall/4 | Use Folder to fold V0 to V using all answers of Goal. |  |
| foreach/2 | True when the conjunction of instances of Goal created from solutions for Generator is true. |  |
| free_variables/4 | Find free variables in bagof/setof template. |  |
| safe_meta/2 | Declare the aggregate meta-calls safe. |  |
apply.pl -- Apply predicates on a list |
| 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. |  |
| include/3 | Filter elements for which Goal succeeds. |  |
| partition/4 | Filter elements of List according to Pred. |  |
| partition/5 | Filter List according to Pred in three sets. |  |
| 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. | |
| maplist/2 | True if Goal is successfully applied on all matching elements of the list. | |
| 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. | |
apply_macros.pl -- Goal expansion rules to avoid meta-calling |
arithmetic.pl -- Extensible arithmetic |
| 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 |
| assoc_to_keys/2 | True if Keys is the list of keys in Assoc. |  |
| assoc_to_list/2 | Translate Assoc to a list Pairs of Key-Value pairs. |  |
| assoc_to_values/2 | True if Values is the list of values in Assoc. |  |
| del_assoc/4 | True if Key-Value is in Assoc0. |  |
| del_max_assoc/4 | True if Key-Value is in Assoc0 and Key is the greatest key. |  |
| del_min_assoc/4 | True if Key-Value is in Assoc0 and Key is the smallest key. |  |
| empty_assoc/1 | Is true if Assoc is the empty association list. |  |
| gen_assoc/3 | True if Key-Value is an association in Assoc. |  |
| get_assoc/3 | True if Key-Value is an association in Assoc. |  |
| get_assoc/5 | True if Key-Val0 is in Assoc0 and Key-Val is in Assoc. |  |
| is_assoc/1 | True if Assoc is an association list. |  |
| list_to_assoc/2 | Create an association from a list Pairs of Key-Value pairs. |  |
| map_assoc/2 | True if Pred(Value) is true for all values in Assoc. |  |
| map_assoc/3 | Map corresponding values. |  |
| max_assoc/3 | True if Key-Value is in Assoc and Key is the largest key. |  |
| min_assoc/3 | True if Key-Value is in assoc and Key is the smallest key. |  |
| ord_list_to_assoc/2 | Assoc is created from an ordered list Pairs of Key-Value pairs. |  |
| put_assoc/4 | Assoc is Assoc0, except that Key is associated with Value. |  |
atom.pl -- Operations on atoms |
| 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 -- Backward compatibility |
| $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 | |  |
| eval_license/0 | |  |
| export_list/2 | Module exports the predicates of List. |  |
| 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. |  |
| 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 | |  |
| set_base_module/1 | Set the default module from which we inherit. |  |
| 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. |  |
| 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 | |  |
| write_ln/1 | |  |
| displayq/1 | Write term ignoring operators and quote atoms. | |
| feature/2 | Control Prolog flags. | |
| lock_predicate/2 | | |
| read_variables/2 | | |
| sformat/3 | | |
base32.pl -- Base32 encoding and decoding |
| base32/2 | Translates between plaintext and base32 encoded atom or string. |  |
| base32//1 | Encode/decode list of character codes using base32. |  |
base64.pl -- Base64 encoding and decoding |
| base64/2 | Equivalent to base64_encoded/3 using the options as(atom) and encoding(iso_latin_1). |  |
| base64_encoded/3 | General the base64 encoding and decoding. |  |
| base64url/2 | Translates between plaintext and base64url encoded atom or string. |  |
| base64//1 | Encode/decode list of character codes using base64. |  |
| base64_encoded//2 | |  |
| base64url//1 | Encode/decode list of character codes using Base64URL. |  |
broadcast.pl -- Event service |
| broadcast/1 | Broadcast given event. |  |
| broadcast_request/1 | Broadcast given event till accepted. |  |
| listening/3 | returns currently open channels. |  |
| listen/3 | Open a channel for listening for events of the given `Templ'. | |
| unlisten/1 | Destroy a channel. | |
charsio.pl -- I/O on Lists of Character Codes |
| 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. |  |
codesio.pl -- I/O on Lists of Character Codes |
| format_to_codes/3 | Use format/2 to write to a list of character codes. |  |
| format_to_codes/4 | Use format/2 to write to a difference list of character codes. |  |
| open_codes_stream/2 | Open Codes as an input stream. |  |
| read_from_codes/2 | Read Codes into Term. |  |
| read_term_from_codes/3 | Read Codes into Term. |  |
| with_output_to_codes/2 | Run Goal with as once/1. |  |
| with_output_to_codes/3 | Run Goal with as once/1. |  |
| with_output_to_codes/4 | As with_output_to_codes/3, but Stream is unified with the temporary stream. |  |
| write_term_to_codes/3 | True when Codes is a string that matches the output of write_term/3 using Options. |  |
| write_term_to_codes/4 | True when Codes\Tail is a difference list containing the character codes that matches the output of write_term/3 using Options. |  |
| write_to_codes/2 | Codes is a list of character codes produced by write/1 on Term. |  |
| write_to_codes/3 | Codes is a difference-list of character codes produced by write/1 on Term. |  |
coinduction.pl -- Co-Logic Programming |
| coinductive/1 | The declaration :- coinductive name/arity, ... defines predicates as coinductive. |  |
csv.pl -- Process CSV (Comma-Separated Values) 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_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_stream/3 | Write the rows in Data to Stream. |  |
| csv_read_file/2 | Read a CSV file into a list of rows. | |
| csv_write_file/2 | Write a list of Prolog terms to a CSV file. | |
| csv//1 | Prolog DCG to `read/write' CSV data. | |
date.pl -- Process dates and times |
| 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. | |
debug.pl -- Print debug messages and test assertions |
| assertion_failed/2 | This hook is called if the Goal of assertion/1 fails. | |
| debug_print_hook/3 | Hook called by debug/3. |  |
| assertion/1 | Acts similar to C assert() macro. |  |
| debug/3 | Format a message if debug topic is enabled. |  |
| debug_message_context/1 | Specify additional context for debug messages. |  |
| debug/1 | Add/remove a topic from being printed. | |
| debugging/1 | Examine debug topics. | |
| list_debug_topics/0 | List currently known topics for debug/3 and their setting. | |
dialect.pl -- Support multiple Prolog dialects |
| expects_dialect/1 | Tell Prolog all subsequent code to the end of the file or the next :- expects_dialect/1 directive is written for the indicated Dialect. |  |
| source_exports/2 | True if Source exports Export. |  |
dicts.pl -- Dict utilities |
| 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. | |
dif.pl -- The dif/2 constraint |
| dif/2 | Constraint that expresses that Term1 and Term2 never become identical (==/2). |  |
edinburgh.pl -- Some traditional Edinburgh predicates |
| fileerrors/2 | Query and change the fileerrors flag. |  |
| reconsult/1 | Load source file(s), wiping the old content first. |  |
| unknown/2 | Edinburgh Prolog predicate for dealing dealing with undefined procedures. |  |
| debug/0 | Switch on/off debug mode. | |
| display/1 | Write a term, ignoring operators and special syntax constructs such as brace terms ({a}) and lists ([a,b,c]). | |
error.pl |
gensym.pl -- Generate unique symbols |
| 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 -- Run GIT commands |
| 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 default branch of a repository. |  |
| git_default_branch/2 | True when BranchName is the current 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. |  |
heaps.pl -- heaps/priority queues |
| 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. |  |
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. |  |
| open_hook/6 | Open Spec in Mode, producing Stream. |  |
lazy_lists.pl -- Lazy list handling |
| lazy_engine_next/4 | Lazy list iterator for engines. |  |
| 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. |  |
| lazy_findall/3 | True when List is a lazy list containing the instantiations for Template for each answer of Goal. | |
lists.pl -- List Manipulation |
| 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. |  |
main.pl -- Provide entry point for scripts |
| argv_options/3 | Parse command line arguments. |  |
| argv_options/4 | 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. |  |
| argv_usage/1 | Use print_message/2 to print a usage message at Level. |  |
| cli_enable_development_system/0 | Re-enable the development environment. |  |
| cli_parse_debug_options/2 | Parse certain commandline options for debugging and development purposes. |  |
| main/0 | Call main/1 using the passed command-line arguments. |  |
| cli_debug_opt_type/3 | Implements opt_type/3, opt_help/2 and opt_meta/2 for debug arguments. | |
modules.pl -- Module utility predicates |
| 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. |  |
occurs.pl -- Finding and counting sub-terms |
| 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 |
| 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). | |
option.pl -- Option list processing |
| 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. |  |
ordsets.pl -- Ordered set manipulation |
| 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 |
| 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 |
| 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 |
| current_persistent_predicate/1 | True if PI is a predicate that provides access to the persistent database DB. |  |
| db_assert/1 | Assert Term into the database and record it for persistency. |  |
| db_attach/2 | Use File as persistent database for the calling module. |  |
| db_attached/1 | True if the context module attached to the persistent database File. |  |
| db_detach/0 | Detach persistency from the calling module and delete all persistent clauses from the Prolog database. |  |
| db_retract/1 | Retract terms from the database one-by-one. |  |
| db_retractall/1 | Retract all matching facts and do the same in the database. |  |
| db_sync/1 | Synchronise database with the associated file. |  |
| db_sync_all/1 | Sync all registered databases. |  |
| persistent/1 | Declare dynamic database terms. |  |
pio.pl -- Pure I/O |
pprint.pl -- Pretty Print Prolog terms |
| print_term/2 | Pretty print a Prolog term. |  |
predicate_options.pl -- Access and analyse predicate options |
| 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_breakpoints.pl -- Manage Prolog break-points |
| breakpoint_property/2 | True when Property is a property of the breakpoint Id. |  |
| delete_breakpoint/1 | Delete breakpoint with given Id. |  |
| set_breakpoint_condition/2 | Set a condition for of the breakpoint with given Id. |  |
| set_breakpoint/4 | Put a breakpoint at the indicated source-location. | |
prolog_clause.pl |
prolog_code.pl -- Utilities for reasoning about code |
| body_term_calls/2 | True when BodyTerm calls Goal. |  |
| 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. |  |
| 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. |  |
| 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. | |
| mkconj/3 | Create a conjunction or disjunction from two terms. | |
prolog_colour.pl -- Prolog syntax colouring support. |
| prolog_colourise_query/3 | Colourise a query, to be executed in the context of SourceId. |  |
| prolog_colourise_term/4 | Colourise the next term on Stream. |  |
| syntax_colour/2 | True when a range classified Class must be coloured using Attributes. |  |
| vararg_goal_classification/3 | Multifile hookable classification for vararg predicates. |  |
| prolog_colourise_stream/3 | Determine colour fragments for the data on Stream. | |
prolog_format.pl -- Analyse format specifications |
| format_spec/2 | Parse a format string. |  |
| format_types/2 | True when Format requires an argument list with terms of the type specified by Types. |  |
| format_spec//1 | DCG for parsing format strings. |  |
prolog_pack.pl -- A package manager for Prolog |
| pack_info/1 | Print more detailed information about Pack. |  |
| pack_install_local/3 | Install a number of packages in a local directory. |  |
| pack_list_installed/0 | List currently installed packages and report possible dependency issues. |  |
| pack_property/2 | True when Property is a property of an installed Pack. |  |
| pack_publish/2 | Publish a package. |  |
| pack_upgrade/1 | Upgrade Pack. |  |
| pack_url_file/2 | True if File is a unique id for the referenced pack and version. |  |
| pack_install/1 | Install one or more packs from SpecOrList. | |
| pack_list/1 | Query package server and installed packages and display results. | |
| pack_rebuild/0 | Rebuild possible foreign components of Pack. | |
| pack_remove/1 | Remove the indicated package. | |
prolog_source.pl -- Examine Prolog source-files |
| 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 |
| backtrace/1 | Get and print a stacktrace to the user_error stream. |  |
| print_last_choicepoint/0 | Print details on the last open choice point. |  |
| print_last_choicepoint/2 | |  |
| 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. |  |
| get_prolog_backtrace/2 | Obtain a backtrace from the current location. | |
| print_prolog_backtrace/2 | Print a stacktrace in human readable form to Stream. | |
prolog_xref.pl -- Prolog cross-referencer data collection |
| 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_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/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_uses_file/3 | True when Source tries to load a file using Spec. |  |
| xref_called/3 | True when By is called from Called in Source. | |
| xref_meta/2 | True when Called is a list of terms called from Head. | |
| xref_public_list/4 | 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_file/3 | Find named source file from Spec, relative to Src. | |
pure_input.pl -- Pure Input from files and streams |
| phrase_from_file/2 | Process the content of File using the DCG rule Grammar. |  |
| phrase_from_file/3 | As phrase_from_file/2, providing additional Options. |  |
| phrase_from_stream/2 | Run Grammer against the character codes on Stream. |  |
| stream_to_lazy_list/2 | Create a lazy list representing the character codes in Stream. |  |
| lazy_list_character_count//1 | True when CharCount is the current character count in the Lazy list. |  |
| lazy_list_location//1 | Determine current (error) location in a lazy list. |  |
| syntax_error//1 | Throw the syntax error Error at the current location of the input. |  |
quasi_quotations.pl -- Define Quasi Quotation syntax |
| phrase_from_quasi_quotation/2 | Process the quasi quotation using the DCG Grammar. |  |
| quasi_quotation_syntax/1 | Declare the predicate SyntaxName/4 to implement the the quasi quote syntax SyntaxName. |  |
| quasi_quotation_syntax_error/1 | Report syntax_error(Error) using the current location in the quasi quoted input parser. |  |
| with_quasi_quotation_input/3 | Process the quasi-quoted Content using Stream parsed by Goal. |  |
random.pl -- Random numbers |
| 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 |
| is_rbtree/1 | True if Term is a valid Red-Black tree. |  |
| list_to_rbtree/2 | Tree is the red-black tree corresponding to the mapping in List, which should be a list of Key-Value pairs. |  |
| ord_list_to_rbtree/2 | Tree is the red-black tree corresponding to the mapping in list List, which should be a list of Key-Value pairs. |  |
| rb_apply/4 | If the value associated with key Key is Val0 in Tree, and if call(G,Val0,ValF) holds, then NewTree differs from Tree only in that Key is associated with value ValF in tree NewTree. |  |
| rb_clone/3 | `Clone' the red-back tree TreeIn into a new tree TreeOut with the same keys as the original but with all values set to unbound values. |  |
| rb_del_max/4 | Delete the largest element from the tree Tree, returning the key Key, the value Val associated with the key and a new tree NewTree. |  |
| rb_del_min/4 | Delete the least element from the tree Tree, returning the key Key, the value Val associated with the key and a new tree NewTree. |  |
| rb_delete/3 | Delete element with key Key from the tree Tree, returning the value Val associated with the key and a new tree NewTree. |  |
| rb_delete/4 | Same as rb_delete(Tree, Key, NewTree), but also unifies Val with the value associated with Key in Tree. |  |
| rb_empty/1 | Succeeds if Tree is an empty Red-Black tree. |  |
| rb_fold/4 | Fold the given predicate over all the key-value pairs in Tree, starting with initial state State0 and returning the final state State. |  |
| rb_in/3 | True when Key-Value is a key-value pair in red-black tree Tree. |  |
| rb_insert/4 | Add an element with key Key and Value to the tree Tree creating a new red-black tree NewTree. |  |
| rb_insert_new/4 | Add a new element with key Key and Value to the tree Tree creating a new red-black tree NewTree. |  |
| rb_keys/2 | Keys is unified with an ordered list of all keys in the Red-Black tree Tree. |  |
| rb_lookup/3 | True when Value is associated with Key in the Red-Black tree Tree. |  |
| rb_map/2 | True if call(Goal, Value) is true for all nodes in T. |  |
| rb_map/3 | For all nodes Key in the tree Tree, if the value associated with key Key is Val0 in tree Tree, and if call(G,Val0,ValF) holds, then the value associated with Key in NewTree is ValF. |  |
| rb_max/3 | Key is the maximal key in Tree, and is associated with Val. |  |
| rb_min/3 | Key is the minimum key in Tree, and is associated with Val. |  |
| rb_new/1 | Create a new Red-Black tree Tree. |  |
| rb_next/4 | Next is the next element after Key in Tree, and is associated with Val. |  |
| rb_partial_map/4 | For all nodes Key in Keys, if the value associated with key Key is Val0 in tree Tree, and if call(G,Val0,ValF) holds, then the value associated with Key in NewTree is ValF, otherwise it is the value associated with the key in Tree. |  |
| rb_previous/4 | Previous is the previous element after Key in Tree, and is associated with Val. |  |
| rb_size/2 | Size is the number of elements in Tree. |  |
| rb_update/4 | Tree NewTree is tree Tree, but with value for Key associated with NewVal. |  |
| rb_update/5 | Same as rb_update(Tree, Key, NewVal, NewTree) but also unifies OldVal with the value associated with Key in Tree. |  |
| rb_visit/2 | Pairs is an infix visit of tree Tree, where each element of Pairs is of the form Key-Value. |  |
readutil.pl -- Read utilities |
| read_file_to_codes/3 | Read the file Spec into a list of Codes. |  |
| read_file_to_string/3 | Read the file Spec into a the string String. |  |
| read_file_to_terms/3 | Read the file Spec into a list of terms. |  |
| read_line_to_codes/2 | Read the next line of input from Stream. |  |
| read_line_to_codes/3 | Difference-list version to read an input line to a list of character codes. |  |
| read_line_to_string/2 | Read the next line from Stream into String. |  |
| read_stream_to_codes/2 | Read input from Stream to a list of character codes. | |
record.pl -- Access compound arguments by name |
| current_record/2 | True if Name is the name of a record defined in the module associated with Term and Term is the user-provided record declaration. |  |
| current_record_predicate/2 | True if PI is the predicate indicator for an access predicate to Record. |  |
| record/1 | Define access predicates for a compound-term. |  |
sandbox.pl |
settings.pl -- Setting management |
| convert_setting_text/3 | Converts from textual form to Prolog Value. |  |
| current_setting/1 | True if Setting is a currently defined setting. |  |
| restore_setting/1 | Restore the value of setting Name to its default. |  |
| 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. |  |
| env/2 | Evaluate environment variables on behalf of arithmetic expressions. | |
| list_settings/0 | List settings to current_output. | |
| load_settings/1 | Load local settings from File. | |
| save_settings/0 | Save modified settings to File. | |
shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects) |
| 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. |  |
| reload_foreign_libraries/0 | Reload all foreign libraries loaded (after restore of a state created using qsave_program/2. |  |
| load_foreign_library/1 | Load a shared object or DLL. | |
| unload_foreign_library/1 | 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. | |
solution_sequences.pl -- Modify solution sequences |
| call_nth/2 | True when Goal succeeded for the Nth time. |  |
| group_by/4 | Group bindings of Template that have the same value for By. |  |
| limit/2 | Limit the number of solutions. |  |
| offset/2 | Ignore the first Count solutions. |  |
| order_by/2 | Order solutions according to Spec. |  |
| distinct/1 | True if Goal is true and no previous solution of Goal bound Witness to the same value. | |
| reduced/1 | Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory. | |
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 -- Get information about 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. |  |
| call_time/2 | Call Goal as call/1, unifying Time with a dict that provides information on the resource usage. | |
system.pl -- System utilities |
| lock_predicate/1 | Transform a predicate into a system predicate. |  |
| system_mode/1 | Switch the system into system or user mode. |  |
| system_module/0 | Any predicate defined after this declaraction uptil the end of the file will become a system predicate. |  |
| unlock_predicate/1 | Transform a system predicate into a normal system predicate. |  |
terms.pl -- Term manipulation |
| mapargs/3 | Term1 and Term2 have the same functor (name/arity) and for each matching pair of arguments call(Goal, A1, A2) is true. |  |
| 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. |  |
| foldsubterms/4 | The predicate foldsubterms/5 calls call(Goal4, SubTerm1, SubTerm2, StateIn, StateOut) for each subterm, including variables, in Term1. | |
| mapsubterms/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). | |
thread_pool.pl -- Resource bounded thread management |
| 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. |  |
ugraphs.pl -- Graph manipulation library |
| add_edges/3 | Unify NewGraph with a new graph obtained by adding the list of Edges to Graph. |  |
| add_vertices/3 | Unify NewGraph with a new graph obtained by adding the list of Vertices to Graph. |  |
| complement/2 | UGraphOut is a ugraph with an edge between all vertices that are not connected in UGraphIn and all edges from UGraphIn removed. |  |
| compose/3 | Compose NewGraph by connecting the drains of LeftGraph to the sources of RightGraph. |  |
| connect_ugraph/3 | Adds Start as an additional vertex that is connected to all vertices in UGraphIn. |  |
| del_edges/3 | Unify NewGraph with a new graph obtained by removing the list of Edges from Graph. |  |
| del_vertices/3 | Unify NewGraph with a new graph obtained by deleting the list of Vertices and all the edges that start from or go to a vertex in Vertices to the Graph. |  |
| edges/2 | Unify Edges with all edges appearing in Graph. |  |
| reachable/3 | True when Vertices is an ordered set of vertices reachable in UGraph, including Vertex. |  |
| transitive_closure/2 | Generate the graph Closure as the transitive closure of Graph. |  |
| transpose_ugraph/2 | Unify NewGraph with a new graph obtained from Graph by replacing all edges of the form V1-V2 by edges of the form V2-V1. |  |
| ugraph_union/3 | NewGraph is the union of Graph1 and Graph2. |  |
| vertices/2 | Unify Vertices with all vertices appearing in Graph. |  |
| vertices_edges_to_ugraph/3 | Create a UGraph from Vertices and Edges. |  |
| neighbors/3 | Neigbours is a sorted list of the neighbours of Vertex in Graph. | |
| ugraph_layers/2 | Sort vertices topologically. | |
url.pl -- Analysing and constructing URL |
| 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. |
| utf8_codes//1 | DCG translating between a Unicode code-list and its UTF-8 encoded byte-string. |  |
varnumbers.pl -- Utilities for numbered terms |
| max_var_number/3 | True when Max is the max of Start and the highest numbered $VAR(N) term. |  |
| numbervars/1 | Number variables in Term using $VAR(N). |  |
| varnumbers/2 | Inverse of numbervars/1. |  |
| varnumbers/3 | Inverse of numbervars/3. |  |
| varnumbers_names/3 | If Term is a term with numbered and named variables using the reserved term '$VAR'(X), Copy is a copy of Term where each '$VAR'(X) is consistently replaced by a fresh variable and Bindings is a list X = Var, relating the X terms with the variable it is mapped to. |  |
wfs.pl -- Well Founded Semantics interface |
| 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 -- Conditional coroutining |
| when/2 | Execute Goal when Condition is satisfied. |  |
www_browser.pl -- Open a URL in the users browser |
| 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 |
| is_lambda/1 | True if Term is a valid Lambda expression. |  |
| //2 | Shorthand for Free/[]>>Lambda. | |
| >>/2 | Calls a copy of Lambda. | |
| lambda_calls/2 | Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N. | |