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 -- Apply predicates on a list |
apply_macros.pl -- Goal expansion rules to avoid meta-calling |
arithmetic.pl -- Extensible arithmetic |
assoc.pl |
| 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 |
backcomp.pl -- Backward compatibility |
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 -- Event service |
charsio.pl -- I/O on Lists of Character Codes |
check.pl -- Consistency checking |
codesio.pl -- I/O on Lists of Character Codes |
coinduction.pl -- Co-Logic Programming |
csv.pl |
| 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 |
| 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_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 |
| dif/2 | Constraint that expresses that Term1 and Term2 never become identical (==/2). |  |
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. |  |
fastrw.pl |
| fast_read/1 | The next term is read from current standard input and is unified with Term. |  |
| fast_write/1 | Output Term in a way that fast_read/1 and fast_read/2 will be able to read it back. |  |
| fast_write_to_string/3 | Perform a fast-write to the difference-slist String\Tail. |  |
files.pl |
| can_open_file/2 | Succeeds if the user has access to `File' in mode `Mode'. |  |
| chdir/1 | Change Working Directory. |  |
gensym.pl |
| 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 -- Hash tables |
heaps.pl -- heaps/priority queues |
increval.pl |
| incr_directly_depends/2 | True if Goal1 depends on Goal2 in the IDG. |  |
| incr_invalid_subgoals/1 | List is a sorted list (set) of the incremental subgoals that are currently invalid. |  |
| incr_invalidate_call/1 | This is the XSB name, but the manual says incr_invalidate_calls/1 and the comment with the code suggests this is misnamed. |  |
| incr_invalidate_calls/1 | Invalidate all tables for subgoals of Goal as well as tables that are affected by these. |  |
| incr_is_invalid/1 | True when Subgoal's table is marked as invalid. |  |
| incr_propagate_calls/1 | Activate the monotonic answer propagation similarly to when a new fact is asserted for a monotonic dynamic predicate. |  |
| incr_table_update/0 | Updated all invalid tables. |  |
| incr_trans_depends/2 | True for each pair in the transitive closure of incr_directly_depends(G1, G2). |  |
| is_incremental_subgoal/1 | This predicate non-deterministically unifies Subgoal with incrementally tabled subgoals that are currently table entries. |  |
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 |
| listing/0 | Lists all predicates defined in the calling module. |  |
| listing/1 | List matching clauses. |  |
| listing/2 | List matching clauses. |  |
| portray_clause/1 | Portray `Clause' on the current output stream. |  |
| portray_clause/2 | Portray `Clause' on the current output stream. |  |
| portray_clause/3 | Portray `Clause' on the current output stream. |  |
lists.pl -- List Manipulation |
macros.pl -- Macro expansion |
main.pl -- Provide entry point for scripts |
make.pl -- Reload modified source files |
| make/0 | Reload all source files that have been changed since they were loaded. |  |
| make_reload_file/1 | Reload file into the proper module. |  |
modules.pl -- Module utility predicates |
nb_set.pl -- Non-backtrackable sets |
occurs.pl |
| contains_term/2 | Succeeds if Sub is contained in Term (=, deterministically). |  |
| contains_var/2 | Succeeds if Sub is contained in Term (==, deterministically). |  |
| free_of_term/2 | Succeeds of Sub does not unify to any subterm of Term. |  |
| free_of_var/2 | Succeeds of Sub is not equal (==) to any subterm of Term. |  |
| occurrences_of_term/3 | Count the number of SubTerms in Term that unify with SubTerm. |  |
| occurrences_of_var/3 | Count the number of SubTerms in Term that are equal to SubTerm. |  |
| sub_term/2 | Generates (on backtracking) all subterms of Term. |  |
| sub_term_shared_variables/3 | If Sub is a sub term of Term, Vars is bound to the list of variables in Sub that also appear outside Sub in Term. |  |
| sub_var/2 | Generates (on backtracking) all subterms (==) of Term. |  |
operators.pl -- Manage operators |
option.pl -- Option list processing |
optparse.pl -- command line parsing |
ordsets.pl |
| 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 |
| oset_addel/3 | Ordered set element addition. |  |
| oset_delel/3 | Ordered set element deletion. |  |
| oset_diff/3 | Ordered set difference. |  |
| oset_dint/2 | Distributed intersection. |  |
| oset_dunion/2 | Distributed union. |  |
| oset_int/3 | ordered set intersection. |  |
| oset_is/1 | check that OSet in correct format (standard order). |  |
| oset_power/2 | True when PSet is the powerset of Set. |  |
| oset_union/3 | Union is the union of OSet1 and OSet2. |  |
pairs.pl -- Operations on key-value lists |
persistency.pl -- Provide persistent dynamic predicates |
pio.pl -- Pure I/O |
portray_text.pl -- Portray text |
pprint.pl -- Pretty Print Prolog terms |
predicate_options.pl -- Access and analyse predicate options |
prolog_autoload.pl |
| autoload_all/0 | Force all necessary autoloading to be done now. |  |
| autoload_all/1 | Force all necessary autoloading to be done now. |  |
prolog_breakpoints.pl |
| breakpoint_property/2 | True when Property is a property of the breakpoint Id. |  |
| delete_breakpoint/1 | Delete breakpoint with given Id. |  |
| set_breakpoint/4 | Put a breakpoint at the indicated source-location. |  |
| set_breakpoint/5 | Put a breakpoint at the indicated source-location. |  |
| set_breakpoint_condition/2 | Set a condition for of the breakpoint with given Id. |  |
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_colourise_query/3 | Colourise a query, to be executed in the context of SourceId. |  |
| prolog_colourise_stream/3 | Determine colour fragments for the data on Stream. |  |
| prolog_colourise_stream/4 | Determine colour fragments for the data on Stream. |  |
| 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_coverage.pl |
| cov_load_data/2 | Reload coverage data from File. |  |
| cov_property/1 | True when coverage analysis satisfies Property. |  |
| cov_reset/0 | Discard all collected coverage data. |  |
| cov_save_data/2 | Save the coverage information to File. |  |
| coverage/1 | As call(Goal), collecting coverage information while Goal is running. |  |
| coverage/2 | Collect and optionally report coverage by Goal. |  |
| report_hook/2 | This hook is called after the data collection. |  |
| show_coverage/1 | Show collected coverage data. |  |
prolog_format.pl -- Analyse format specifications |
prolog_jiti.pl |
| jiti_list/0 | List the JITI (Just In Time Indexes) of selected predicates. |  |
| jiti_list/1 | List the JITI (Just In Time Indexes) of selected predicates. |  |
| jiti_suggest_modes/0 | Propose modes for the predicates referenced by Spec. |  |
| jiti_suggest_modes/1 | Propose modes for the predicates referenced by Spec. |  |
prolog_metainference.pl -- Infer meta-predicate properties |
prolog_pack.pl -- A package manager for Prolog |
prolog_source.pl |
| quasi_quotation_syntax/2 | True when the quasi quotation syntax Syntax can be loaded from Library. |  |
| xref_close_source/2 | Called by prolog_close_source/1 to close a source previously opened by the hook prolog:xref_open_source/2. |  |
| xref_open_source/2 | Hook to open an xref SourceID. |  |
| directory_source_files/3 | True when Files is a sorted list of Prolog source files in Dir. |  |
| file_alias_path/2 | True if file Alias points to Dir. |  |
| file_name_on_path/2 | True if OnPath a description of File based on the file search path. |  |
| load_quasi_quotation_syntax/2 | Import quasi quotation syntax Syntax from Path into the module specified by the first argument. |  |
| path_segments_atom/2 | Translate between a path represented as a/b/c and an atom representing the same path. |  |
| prolog_canonical_source/2 | Given a user-specification of a source, generate a unique and indexable identifier for it. |  |
| prolog_close_source/1 | Close a stream opened using prolog_open_source/2. |  |
| prolog_file_directives/3 | True when Directives is a list of directives that appear in the source file File. |  |
| prolog_open_source/2 | Open source with given canonical id (see prolog_canonical_source/2) and remove the #! |  |
| prolog_read_source_term/4 | Read a term from a Prolog source-file. |  |
| read_source_term_at_location/3 | Try to read a Prolog term form an arbitrary location inside a file. |  |
| requires_library/2 | known expansion hooks. |  |
| valid_term_position/2 | Check that a Term has an appropriate TermPos layout. |  |
prolog_stack.pl -- Examine the Prolog stack |
prolog_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_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 -- Prolog cross-referencer data collection |
pure_input.pl -- Pure Input from files and streams |
qsave.pl |
| arch_shlib/3 | This is a user defined hook called by qsave_program/2. |  |
| qsave_program/1 | Make a saved state in file `File'. |  |
| qsave_program/2 | Make a saved state in file `File'. |  |
| qsave_toplevel/0 | Called to handle `-c file` compilaton. |  |
quasi_quotations.pl -- Define Quasi Quotation syntax |
quintus.pl -- Quintus compatibility |
random.pl |
| getrand/1 | Query/set the state of the random generator. |  |
| maybe/0 | Succeed/fail with equal probability (variant of maybe/1). |  |
| maybe/1 | Succeed with probability P, fail with probability 1-P. |  |
| maybe/2 | Succeed with probability K/N (variant of maybe/1). |  |
| random/1 | Binds R to a new random float in the open interval (0.0,1.0). |  |
| random/3 | Generate a random integer or float in a range. |  |
| random_between/3 | Binds R to a random integer in [L,U] (i.e., including both L and U). |  |
| random_member/2 | X is a random member of List. |  |
| random_numlist/4 | Unify List with an ascending list of integers between L and U (inclusive). |  |
| random_perm2/4 | Does X=A,Y=B or X=B,Y=A with equal probability. |  |
| random_permutation/2 | Permutation is a random permutation of List. |  |
| random_select/3 | Randomly select or insert an element. |  |
| random_subseq/3 | Selects a random subsequence Subseq of List, with Complement containing all elements of List that were not selected. |  |
| randseq/3 | S is a list of K unique random integers in the range 1..N. |  |
| randset/3 | S is a sorted list of K unique random integers in the range 1..N. |  |
| setrand/1 | Query/set the state of the random generator. |  |
rbtrees.pl |
| 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. |  |
readln.pl |
readutil.pl |
| 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. |  |
| read_stream_to_codes/3 | Read input from Stream to a list of character codes. |  |
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 |
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. |  |
shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects) |
solution_sequences.pl -- Modify solution sequences |
sort.pl |
statistics.pl |
| call_time/2 | Call Goal as call/1, unifying Time with a dict that provides information on the resource usage. |  |
| call_time/3 | Call Goal as call/1, unifying Time with a dict that provides information on the resource usage. |  |
| statistics/0 | Print information about resource usage using print_message/2. |  |
| statistics/1 | Stats is a dict representing the same information as statistics/0. |  |
| thread_statistics/2 | Obtain statistical information about a single thread. |  |
| time/1 | Execute Goal, reporting statistics to the user. |  |
streams.pl |
| with_output_to/3 | Run Goal and once/1 while capturing all output to all streams (current_output, user_output and user_error) in the string Output. |  |
strings.pl -- String utilities |
system.pl -- System utilities |
tables.pl -- XSB interface to tables |
terms.pl -- Term manipulation |
thread.pl -- High level thread primitives |
| call_in_thread/2 | Run Goal as an interrupt in the context of Thread. |  |
| concurrent/3 | Run Goals in parallel using N threads. |  |
| concurrent_and/2 | Concurrent version of (Generator,Test). |  |
| concurrent_and/3 | Concurrent version of (Generator,Test). |  |
| concurrent_forall/2 | True when Action is true for all solutions of Generate. |  |
| concurrent_forall/3 | True when Action is true for all solutions of Generate. |  |
| concurrent_maplist/2 | Concurrent version of maplist/2. |  |
| concurrent_maplist/3 | Concurrent version of maplist/2. |  |
| concurrent_maplist/4 | Concurrent version of maplist/2. |  |
| first_solution/3 | Try alternative solvers concurrently, returning the first answer. |  |
thread_pool.pl -- Resource bounded thread management |
threadutil.pl -- Interactive thread utilities |
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 |
| utf8_codes/3 | DCG translating between a Unicode code-list and its UTF-8 encoded byte-string. |  |
varnumbers.pl -- Utilities for numbered terms |
wfs.pl -- Well Founded Semantics interface |
when.pl -- Conditional coroutining |
writef.pl |
| swritef/2 | Use writef/1 or writef/2 and write the result to a string. |  |
| swritef/3 | Use writef/1 or writef/2 and write the result to a string. |  |
| writef/1 | Formatted write to the current_output. |  |
| writef/2 | Formatted write to the current_output. |  |
www_browser.pl -- 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. | |