library

Prolog files

aggregate.pl  -- Aggregation operators on backtrackable predicatesShow source
ansi_term.pl  -- Print decorated text to ANSI consolesShow source
apply.pl  -- Apply predicates on a listShow source
apply_macros.pl  -- Goal expansion rules to avoid meta-callingShow source
apply_macros_sentinel/0Used to detect that library(apply_macros) is loaded into the current context explicitly.Source
expand_phrase/2Provide goal-expansion for PhraseGoal.Source
expand_phrase/4Provide goal-expansion for PhraseGoal.Source
arithmetic.pl  -- Extensible arithmeticShow source
assoc.pl  -- Binary associationsShow source
atom.pl  -- Operations on atomsShow source
backcomp.plShow source
$apropos_match/2True if Needle is a sub atom of Haystack.Source
$arch/2Source
$argv/1Source
$declare_module/3Used in triple20 particle library.Source
$home/1Source
$module/2Source
$set_prompt/1Set the prompt for the toplevel.Source
$sig_atomic/1Execute Goal without processing signals.Source
$strip_module/3This used to be an internal predicate.Source
$version/1Source
C/3Used to be generated by DCG.Source
at_initialization/1Register goal only to be run if a saved state is restored.Source
call_cleanup/3Call Cleanup with an indication of the reason unified to Catcher.Source
checklist/2Source
concat/3Source
concat_atom/2Concatenate a list of atomic values to an atom.Source
concat_atom/3Concatenate a list of atomic values to an atom, inserting Separator between each consecutive elements.Source
convert_time/2Convert a time-stamp as obtained though get_time/1 into a textual representation using the C-library function ctime().Source
convert_time/8Convert a time stamp, provided by get_time/1, time_file/2, etc.Source
current_module/2True if Module is a module loaded from File.Source
current_mutex/3Source
current_thread/2Source
displayq/1Write term ignoring operators and quote atoms.Source
displayq/2Write term ignoring operators and quote atoms.Source
eval_license/0Source
export_list/2Module exports the predicates of List.Source
feature/2Control Prolog flags.Source
flush/0Source
free_variables/2Return a list of unbound variables in Term.Source
hash/1Demands PredInd to be indexed using a hash-table.Source
hash_term/2If Term is ground, Hash is unified to an integer representing a hash for Term.Source
index/1Prepare the predicate indicated by Head for multi-argument indexing.Source
lock_predicate/2Source
merge/3Merge the ordered sets List1 and List2 into a new ordered list.Source
merge_set/3Merge the ordered sets Set1 and Set2 into a new ordered set without duplicates.Source
message_queue_size/2True if Queue holds Size terms.Source
proper_list/1Old SWI-Prolog predicate to check for a list that really ends in a [].Source
read_clause/1Source
read_clause/2Source
read_history/6Source
read_pending_input/3Source
read_variables/2Source
read_variables/3Source
set_base_module/1Set the default module from which we inherit.Source
set_feature/2Control Prolog flags.Source
setup_and_call_cleanup/3Call Cleanup once after Goal is finished.Source
setup_and_call_cleanup/4Call Cleanup once after Goal is finished, with Catcher unified to the reason.Source
sformat/2Source
sformat/3Source
string_to_atom/2Bi-directional conversion between string and atom.Source
string_to_list/2Bi-directional conversion between a string and a list of character codes.Source
sublist/3Succeeds if List2 unifies with a list holding those terms for which call(Goal, Elem) succeeds.Source
substring/4Predecessor of sub_string using 1-based Offset.Source
sumlist/2True when Sum is the list of all numbers in List.Source
thread_at_exit/1Register Goal to be called when the calling thread exits.Source
trie_insert_new/3Source
unlock_predicate/2Source
write_ln/1Source
base32.pl  -- Base32 encoding and decodingShow source
base64.pl  -- Base64 encoding and decodingShow source
broadcast.plShow source
broadcast/1Broadcast given event.Source
broadcast_request/1Broadcast given event till accepted.Source
listen/2Open a channel for listening for events of the given `Templ'.Source
listen/3Open a channel for listening for events of the given `Templ'.Source
listening/3returns currently open channels.Source
unlisten/1Destroy a channel.Source
unlisten/2Destroy a channel.Source
unlisten/3Destroy a channel.Source
charsio.plShow source
atom_to_chars/2Convert Atom into a list of character codes.Source
atom_to_chars/3Convert Atom into a difference list of character codes.Source
format_to_chars/3Use format/2 to write to a list of character codes.Source
format_to_chars/4Use format/2 to write to a difference list of character codes.Source
number_to_chars/2Convert Atom into a list of character codes.Source
number_to_chars/3Convert Number into a difference list of character codes.Source
open_chars_stream/2Open Codes as an input stream.Source
read_from_chars/2Read Codes into Term.Source
read_term_from_chars/3Read Codes into Term.Source
with_output_to_chars/2Run Goal as with once/1.Source
with_output_to_chars/3Run Goal as with once/1.Source
with_output_to_chars/4Same as with_output_to_chars/3 using an explicit stream.Source
write_to_chars/2Write a term to a code list.Source
write_to_chars/3Write a term to a code list.Source
check.pl  -- Consistency checkingShow source
codesio.pl  -- I/O on Lists of Character CodesShow source
coinduction.pl  -- Co-Logic ProgrammingShow source
csv.plShow source
csv/3Prolog DCG to `read/write' CSV data.Source
csv/4Prolog DCG to `read/write' CSV data.Source
csv_options/2Compiled is the compiled representation of the CSV processing options as they may be passed into csv//2, etc.Source
csv_read_file/2Read a CSV file into a list of rows.Source
csv_read_file/3Read a CSV file into a list of rows.Source
csv_read_file_row/3True when Row is a row in File.Source
csv_read_row/3Read the next CSV record from Stream and unify the result with Row.Source
csv_read_stream/3Read CSV data from Stream.Source
csv_write_file/2Write a list of Prolog terms to a CSV file.Source
csv_write_file/3Write a list of Prolog terms to a CSV file.Source
csv_write_stream/3Write the rows in Data to Stream.Source
ctypes.pl  -- Character code classificationShow source
is_digit/3Succeeds if `C' is a digit using `Base' as base and `Weight' represents its value.Source
is_paren/2True if Open is the open-parenthesis of Close.Source
to_lower/2Downcase a character code.Source
to_upper/2Upcase a character code.Source
upper_lower/2True when U is the character code of an uppercase character and L is the character code of the corresponding lowercase character.Source
date.pl  -- Process dates and timesShow source
debug.plShow source
assertion_failed/2This hook is called if the Goal of assertion/1 fails.
debug_print_hook/3Hook called by debug/3.Source
assertion/1Acts similar to C assert() macro.Source
debug/1Add/remove a topic from being printed.Source
debug/3Format a message if debug topic is enabled.Source
debug_message_context/1Specify additional context for debug messages.Source
debugging/1Examine debug topics.Source
debugging/2Examine debug topics.Source
list_debug_topics/0List currently known topics for debug/3 and their setting.Source
list_debug_topics/1List currently known topics for debug/3 and their setting.Source
nodebug/1Add/remove a topic from being printed.Source
dialect.plShow source
expects_dialect/1Tell Prolog all subsequent code to the end of the file or the next :- expects_dialect/1 directive is written for the indicated Dialect.Source
source_exports/2True if Source exports Export.Source
dicts.plShow source
dict_fill/4Implementation for the dicts_to_same_keys/3 OnEmpty closure that fills new cells with a copy of ValueIn.Source
dict_keys/2True when Keys is an ordered set of the keys appearing in Dict.Source
dict_size/2True when KeyCount is the number of keys in Dict.Source
dicts_join/3Join dicts in Dicts that have the same value for Key, provided they do not have conflicting values on other keys.Source
dicts_join/4Join two lists of dicts (Dicts1 and Dicts2) on Key.Source
dicts_same_keys/2True if List is a list of dicts that all have the same keys and Keys is an ordered set of these keys.Source
dicts_same_tag/2True when List is a list of dicts that all have the tag Tag.Source
dicts_slice/3DictsOut is a list of Dicts only containing values for Keys.Source
dicts_to_compounds/4True 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.Source
dicts_to_same_keys/3DictsOut is a copy of DictsIn, where each dict contains all keys appearing in all dicts of DictsIn.Source
mapdict/2True when all dicts have the same set of keys and call(Goal, Key, V1, ...) is true for all keys in the dicts.Source
mapdict/3True when all dicts have the same set of keys and call(Goal, Key, V1, ...) is true for all keys in the dicts.Source
mapdict/4True when all dicts have the same set of keys and call(Goal, Key, V1, ...) is true for all keys in the dicts.Source
dif.plShow source
dif/2Constraint that expresses that Term1 and Term2 never become identical (==/2).Source
edinburgh.plShow source
debug/0Switch on/off debug mode.Source
display/1Write a term, ignoring operators and special syntax constructs such as brace terms ({a}) and lists ([a,b,c]).Source
display/2Write a term, ignoring operators and special syntax constructs such as brace terms ({a}) and lists ([a,b,c]).Source
fileerrors/2Query and change the fileerrors flag.Source
nodebug/0Switch on/off debug mode.Source
reconsult/1Load source file(s), wiping the old content first.Source
unknown/2Edinburgh Prolog predicate for dealing dealing with undefined procedures.Source
edit.pl  -- Editor interfaceShow source
error.plShow source
exceptions.pl  -- Exception classificationShow source
explain.pl  -- Describe Prolog TermsShow source
fastrw.plShow source
fast_read/1The next term is read from current standard input and is unified with Term.Source
fast_write/1Output Term in a way that fast_read/1 and fast_read/2 will be able to read it back.Source
fast_write_to_string/3Perform a fast-write to the difference-slist String\Tail.Source
files.plShow source
can_open_file/2Succeeds if the user has access to `File' in mode `Mode'.Source
chdir/1Change Working Directory.Source
gensym.pl  -- Generate unique symbolsShow source
git.pl  -- Run GIT commandsShow source
hashtable.plShow source
ht_del/3Delete Key-Value from HT.Source
ht_gen/3True when Key-Value is in HT.Source
ht_get/3True when Key is in HT and associated with Value.Source
ht_is_hashtable/1True when HT is a hash table.Source
ht_keys/2True when Keys is an ordered set of all keys in HT.Source
ht_new/1Create a new hash table.Source
ht_pairs/2True when Pairs and HT represent the same association.Source
ht_put/3Add a Key-Value to HT.Source
ht_put/5Add Key-Value to HT.Source
ht_put_new/3As ht_put/3, but fails if Key is already in HT instead of updating the associated value.Source
ht_size/2True when Size is the number of key-value pairs in HT.Source
ht_update/4True when HT holds Key-Old before and Key-New after this call.Source
heaps.plShow source
add_to_heap/4Adds Key with priority Priority to Heap0, constructing a new heap in Heap.Source
delete_from_heap/4Deletes Key from Heap0, leaving its priority in Priority and the resulting data structure in Heap.Source
empty_heap/1True if Heap is an empty heap.Source
get_from_heap/4Retrieves the minimum-priority pair Priority-Key from Heap0.Source
heap_size/2Determines the number of elements in Heap.Source
heap_to_list/2Constructs a list List of Priority-Element terms, ordered by (ascending) priority.Source
is_heap/1Returns true if X is a heap.Source
list_to_heap/2If List is a list of Priority-Element terms, constructs a heap out of List.Source
merge_heaps/3Merge the two heaps Heap0 and Heap1 in Heap.Source
min_of_heap/3Unifies Key with the minimum-priority element of Heap and Priority with its priority value.Source
min_of_heap/5Gets the two minimum-priority elements from Heap.Source
singleton_heap/3True if Heap is a heap with the single element Priority-Key.Source
help.pl  -- Text based manualShow source
increval.pl  -- Incremental dynamic predicate modificationShow source
intercept.pl  -- Intercept and signal interfaceShow source
iostream.pl  -- Utilities to deal with streamsShow source
lazy_lists.pl  -- Lazy list handlingShow source
listing.pl  -- List programs and pretty print clausesShow source
lists.pl  -- List ManipulationShow source
macros.plShow source
expand_macros/5Perform macro expansion on TermIn with layout PosIn to produce TermOut with layout PosOut.Source
include_macros/3Include macros from another module.Source
macro_position/1True when Position is the position of the macro.Source
main.pl  -- Provide entry point for scriptsShow source
make.pl  -- Reload modified source filesShow source
modules.plShow source
current_temporary_module/1True when we are executing in the given temporary module context.Source
in_temporary_module/3Run Goal on temporary loaded sources and discard the module and loaded predicates after completion.Source
nb_set.pl  -- Non-backtrackable setsShow source
add_nb_set/2Insert Key into the set.Source
add_nb_set/3Insert Key into the set.Source
empty_nb_set/1Create an empty non-backtrackable set.Source
gen_nb_set/2Enumerate the members of a set in the standard order of terms.Source
nb_set_to_list/2Get the elements of a an nb_set.Source
size_nb_set/2Unify Size with the number of elements in the set.Source
occurs.plShow source
contains_term/2Succeeds if Sub is contained in Term (=, deterministically).Source
contains_var/2Succeeds if Sub is contained in Term (==, deterministically).Source
free_of_term/2Succeeds of Sub does not unify to any subterm of Term.Source
free_of_var/2Succeeds of Sub is not equal (==) to any subterm of Term.Source
occurrences_of_term/3Count the number of SubTerms in Term that unify with SubTerm.Source
occurrences_of_var/3Count the number of SubTerms in Term that are equal to SubTerm.Source
sub_term/2Generates (on backtracking) all subterms of Term.Source
sub_term_shared_variables/3If Sub is a sub term of Term, Vars is bound to the list of variables in Sub that also appear outside Sub in Term.Source
sub_var/2Generates (on backtracking) all subterms (==) of Term.Source
operators.plShow source
pop_operators/0Revert all changes to the operator table realised since the last push_operators/1.Source
pop_operators/1Reset operators as pushed by push_operators/2.Source
push_op/3As op/3, but this call must appear between push_operators/1 and pop_operators/0.Source
push_operators/1Installs the operators from New, where New is a list of op(Prec, Type, :Name).Source
push_operators/2Installs the operators from New, where New is a list of op(Prec, Type, :Name).Source
option.plShow source
dict_options/2Convert between an option list and a dictionary.Source
merge_options/3Merge two option sets.Source
meta_options/3Perform meta-expansion on options that are module-sensitive.Source
option/2Get an Option from Options.Source
option/3Get an Option from Options.Source
select_option/3Get and remove Option from Options.Source
select_option/4Get and remove Option with default value.Source
optparse.plShow source
opt_arguments/3Extract commandline options according to a specification.Source
opt_help/2True when Help is a help string synthesized from OptsSpec.Source
opt_parse/4Equivalent to opt_parse(OptsSpec, ApplArgs, Opts, PositionalArgs, []).Source
opt_parse/5Parse the arguments Args (as list of atoms) according to OptsSpec.Source
parse_type/3Hook to parse option text Codes to an object of type Type.Source
ordsets.plShow source
is_ordset/1True if Term is an ordered set.Source
list_to_ord_set/2Transform a list into an ordered set.Source
ord_add_element/3Insert an element into the set.Source
ord_del_element/3Delete an element from an ordered set.Source
ord_disjoint/2True if Set1 and Set2 have no common elements.Source
ord_empty/1True when List is the empty ordered set.Source
ord_intersect/2True if both ordered sets have a non-empty intersection.Source
ord_intersect/3Intersection holds the common elements of Set1 and Set2.Source
ord_intersection/2Intersection of a powerset.Source
ord_intersection/3Intersection holds the common elements of Set1 and Set2.Source
ord_intersection/4Intersection and difference between two ordered sets.Source
ord_memberchk/2True if Element is a member of OrdSet, compared using ==.Source
ord_selectchk/3Selectchk/3, specialised for ordered sets.Source
ord_seteq/2True if Set1 and Set2 have the same elements.Source
ord_subset/2Is true if all elements of Sub are in Super.Source
ord_subtract/3Diff is the set holding all elements of InOSet that are not in NotInOSet.Source
ord_symdiff/3Is true when Difference is the symmetric difference of Set1 and Set2.Source
ord_union/2True if Union is the union of all elements in the superset SetOfSets.Source
ord_union/3Union is the union of Set1 and Set2.Source
ord_union/4True iff ord_union(Set1, Set2, Union) and ord_subtract(Set2, Set1, New).Source
oset.pl  -- Ordered set manipulationShow source
pairs.pl  -- Operations on key-value listsShow source
persistency.pl  -- Provide persistent dynamic predicatesShow source
pio.pl  -- Pure I/OShow source
portray_text.plShow source
portray_text/1Switch portraying on or off.Source
set_portray_text/2Set options for portraying.Source
set_portray_text/3Set options for portraying.Source
pprint.plShow source
print_term/2Pretty print a Prolog term.Source
predicate_options.pl  -- Access and analyse predicate optionsShow source
prolog_autoload.pl  -- Autoload all dependenciesShow source
prolog_breakpoints.plShow source
breakpoint_property/2True when Property is a property of the breakpoint Id.Source
delete_breakpoint/1Delete breakpoint with given Id.Source
set_breakpoint/4Put a breakpoint at the indicated source-location.Source
set_breakpoint/5Put a breakpoint at the indicated source-location.Source
set_breakpoint_condition/2Set a condition for of the breakpoint with given Id.Source
prolog_clause.plShow source
clause_info/4Fetches source information for the given clause.Source
clause_info/5Fetches source information for the given clause.Source
clause_name/2Provide a suitable description of the indicated clause.Source
initialization_layout/4Find term-layout of :- initialization directives.Source
make_varnames/5Create a Term varnames(...) where each argument contains the name of the variable at that offset.Source
open_source/2Hook into clause_info/5 that opens the stream holding the source for a specific clause.Source
predicate_name/2Describe a predicate as [Module:]Name/Arity.Source
unify_goal/5This hook is called to fix up source code manipulations that result from goal expansions.Source
unify_term/2Unify the two terms, where T2 is created by writing the term and reading it back in, but be aware that rounding problems may cause floating point numbers not to unify.Source
prolog_code.plShow source
body_term_calls/2True when BodyTerm calls Goal.Source
comma_list/2True if CommaList is a nested term over the ','/2 (';'/2) functor and List is a list expressing the elements of the conjunction.Source
extend_goal/3Extend the possibly qualified Goal0 with additional arguments from Extra.Source
head_name_arity/3Similar 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.Source
is_control_goal/1True if Goal is a compiled Prolog control structure.Source
is_predicate_indicator/1True when Term is a predicate indicator.Source
mkconj/3Create a conjunction or disjunction from two terms.Source
mkdisj/3Create a conjunction or disjunction from two terms.Source
most_general_goal/2General is the most general version of Goal.Source
pi_head/2Translate between a PredicateIndicator and a Goal term.Source
predicate_label/2Create a human-readable label for the given predicate indicator.Source
predicate_sort_key/2Key is the (module-free) name of the predicate for sorting purposes.Source
semicolon_list/2True if CommaList is a nested term over the ','/2 (';'/2) functor and List is a list expressing the elements of the conjunction.Source
prolog_codewalk.pl  -- Prolog code walkerShow source
prolog_colour.pl  -- Prolog syntax colouring support.Show source
prolog_config.plShow source
prolog_config/2Get information on the configuration of the current Prolog system.Source
prolog_dump_runtime_variables/0Dump the current configuration in shell format.Source
prolog_coverage.plShow source
cov_load_data/2Reload coverage data from File.Source
cov_property/1True when coverage analysis satisfies Property.Source
cov_reset/0Discard all collected coverage data.Source
cov_save_data/2Save the coverage information to File.Source
coverage/1As call(Goal), collecting coverage information while Goal is running.Source
coverage/2Collect and optionally report coverage by Goal.Source
report_hook/2This hook is called after the data collection.Source
show_coverage/1Show collected coverage data.Source
prolog_debug.plShow source
debug_control_hook/1Allow user-hooks in the Prolog debugger interaction.
debugging/0Report current status of the debugger.Source
debugging_hook/1Multifile hook that is called as forall(debugging_hook(DebugMode), true) and that may be used to extend the information printed from other debugging libraries.Source
exception_hook/5Trap exceptions and consider whether or not to start the tracer.Source
nospy/1Set/clear spy-points.Source
nospyall/0Set/clear spy-points.Source
notrap/1Install a trap on error(Formal, Context) exceptions that unify.Source
spy/1Set/clear spy-points.Source
trap/1Install a trap on error(Formal, Context) exceptions that unify.Source
trap_alias/2Define short hands for commonly used exceptions.Source
prolog_format.plShow source
format_spec/2Parse a format string.Source
format_spec/3DCG for parsing format strings.Source
format_types/2True when Format requires an argument list with terms of the type specified by Types.Source
prolog_history.pl  -- Per-directory persistent commandline historyShow source
prolog_jiti.pl  -- Just In Time Indexing (JITI) utilitiesShow source
prolog_metainference.plShow source
infer_meta_predicate/2True when MetaSpec is a meta-predicate specifier for the predicate Head.Source
inferred_meta_predicate/2True when MetaSpec is an inferred meta-predicate specification for Head.Source
prolog_pack.plShow source
pack_info/1Print more detailed information about Pack.Source
pack_install/1Install one or more packs from SpecOrList.Source
pack_install/2Install one or more packs from SpecOrList.Source
pack_install_local/3Install a number of packages in a local directory.Source
pack_list/1Query package server and installed packages and display results.Source
pack_list/2Query package server and installed packages and display results.Source
pack_list_installed/0List currently installed packages and report possible dependency issues.Source
pack_property/2True when Property is a property of an installed Pack.Source
pack_publish/2Publish a package.Source
pack_rebuild/0Rebuild possible foreign components of Pack.Source
pack_rebuild/1Rebuild possible foreign components of Pack.Source
pack_remove/1Remove the indicated package.Source
pack_remove/2Remove the indicated package.Source
pack_search/1Query package server and installed packages and display results.Source
pack_upgrade/1Upgrade Pack.Source
pack_url_file/2True if File is a unique id for the referenced pack and version.Source
prolog_profile.pl  -- Execution profilerShow source
prolog_source.pl  -- Examine Prolog source-filesShow source
prolog_stack.pl  -- Examine the Prolog stackShow source
prolog_trace.pl  -- Print access to predicatesShow source
prolog_versions.plShow source
cmp_versions/3Compare to versions.Source
require_prolog_version/2Claim that the running Prolog version is at least version Required and provides the requested Features.Source
require_version/3Require Component to have version CmpRequired, while Component is know to have version Available.Source
prolog_wrap.plShow source
current_predicate_wrapper/4True if Head is wrapped with Body.Source
unwrap_predicate/2Remove the outermost wrapper whose name unifies with Name.
wrap_predicate/4Wrap the predicate referenced by Head using Body.Source
prolog_xref.pl  -- Prolog cross-referencer data collectionShow source
pure_input.plShow source
lazy_list_character_count/3True when CharCount is the current character count in the Lazy list.Source
lazy_list_location/3Determine current (error) location in a lazy list.Source
phrase_from_file/2Process the content of File using the DCG rule Grammar.Source
phrase_from_file/3As phrase_from_file/2, providing additional Options.Source
phrase_from_stream/2Run Grammer against the character codes on Stream.Source
stream_to_lazy_list/2Create a lazy list representing the character codes in Stream.Source
syntax_error/3Throw the syntax error Error at the current location of the input.Source
qsave.plShow source
arch_shlib/3This is a user defined hook called by qsave_program/2.Source
qsave_program/1Make a saved state in file `File'.Source
qsave_program/2Make a saved state in file `File'.Source
qsave_toplevel/0Called to handle `-c file` compilaton.Source
quasi_quotations.pl  -- Define Quasi Quotation syntaxShow source
quintus.plShow source
abs/2Unify `Absolute' with the absolute value of `Number'.Source
acos/2Math library predicates.Source
asin/2Math library predicates.Source
atan/2Math library predicates.Source
atan2/3Math library predicates.Source
atom_char/2Same as ISO char_code/2.Source
ceiling/2Math library predicates.Source
compile/1Compile files.Source
cos/2Math library predicates.Source
current_stream/3SICStus/Quintus and backward compatible predicate.Source
date/1Get current date as date(Y,M,D).Source
floor/2Math library predicates.Source
genarg/3Generalised version of ISO arg/3.Source
log/2Math library predicates.Source
log10/2Math library predicates.Source
midstring/3Too difficult to explain.Source
midstring/4Too difficult to explain.Source
midstring/5Too difficult to explain.Source
midstring/6Too difficult to explain.Source
no_style_check/1Same as SWI-Prolog style_check(-Style).Source
on_exception/3Source
otherwise/0For (A -> B ; otherwise -> C).Source
pow/3Math library predicates.Source
prolog_flag/2Same as ISO current_prolog_flag/2.Source
raise_exception/1Quintus compatible exception handling.Source
round/2Math library predicates.Source
sign/2Math library predicates.Source
simple/1Term is atomic or a variable.Source
sin/2Math library predicates.Source
skip_line/0Skip the rest of the current line (on Stream).Source
skip_line/1Skip the rest of the current line (on Stream).Source
sqrt/2Math library predicates.Source
stream_position/3True when Old is the current position in Stream and the stream has been repositioned to New.Source
tan/2Math library predicates.Source
unix/1This predicate provides a partial emulation of the corresponding Quintus predicate.Source
random.plShow source
getrand/1Query/set the state of the random generator.Source
maybe/0Succeed/fail with equal probability (variant of maybe/1).Source
maybe/1Succeed with probability P, fail with probability 1-P.Source
maybe/2Succeed with probability K/N (variant of maybe/1).Source
random/1Binds R to a new random float in the open interval (0.0,1.0).Source
random/3Generate a random integer or float in a range.Source
random_between/3Binds R to a random integer in [L,U] (i.e., including both L and U).Source
random_member/2X is a random member of List.Source
random_numlist/4Unify List with an ascending list of integers between L and U (inclusive).Source
random_perm2/4Does X=A,Y=B or X=B,Y=A with equal probability.Source
random_permutation/2Permutation is a random permutation of List.Source
random_select/3Randomly select or insert an element.Source
random_subseq/3Selects a random subsequence Subseq of List, with Complement containing all elements of List that were not selected.Source
randseq/3S is a list of K unique random integers in the range 1..N.Source
randset/3S is a sorted list of K unique random integers in the range 1..N.Source
setrand/1Query/set the state of the random generator.Source
rbtrees.plShow source
is_rbtree/1True if Term is a valid Red-Black tree.Source
list_to_rbtree/2Tree is the red-black tree corresponding to the mapping in List, which should be a list of Key-Value pairs.Source
ord_list_to_rbtree/2Tree is the red-black tree corresponding to the mapping in list List, which should be a list of Key-Value pairs.Source
rb_apply/4If 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.Source
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.Source
rb_del_max/4Delete the largest element from the tree Tree, returning the key Key, the value Val associated with the key and a new tree NewTree.Source
rb_del_min/4Delete the least element from the tree Tree, returning the key Key, the value Val associated with the key and a new tree NewTree.Source
rb_delete/3Delete element with key Key from the tree Tree, returning the value Val associated with the key and a new tree NewTree.Source
rb_delete/4Same as rb_delete(Tree, Key, NewTree), but also unifies Val with the value associated with Key in Tree.Source
rb_empty/1Succeeds if Tree is an empty Red-Black tree.Source
rb_fold/4Fold the given predicate over all the key-value pairs in Tree, starting with initial state State0 and returning the final state State.Source
rb_in/3True when Key-Value is a key-value pair in red-black tree Tree.Source
rb_insert/4Add an element with key Key and Value to the tree Tree creating a new red-black tree NewTree.Source
rb_insert_new/4Add a new element with key Key and Value to the tree Tree creating a new red-black tree NewTree.Source
rb_keys/2Keys is unified with an ordered list of all keys in the Red-Black tree Tree.Source
rb_lookup/3True when Value is associated with Key in the Red-Black tree Tree.Source
rb_map/2True if call(Goal, Value) is true for all nodes in T.Source
rb_map/3For 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.Source
rb_max/3Key is the maximal key in Tree, and is associated with Val.Source
rb_min/3Key is the minimum key in Tree, and is associated with Val.Source
rb_new/1Create a new Red-Black tree Tree.Source
rb_next/4Next is the next element after Key in Tree, and is associated with Val.Source
rb_partial_map/4For 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.Source
rb_previous/4Previous is the previous element after Key in Tree, and is associated with Val.Source
rb_size/2Size is the number of elements in Tree.Source
rb_update/4Tree NewTree is tree Tree, but with value for Key associated with NewVal.Source
rb_update/5Same as rb_update(Tree, Key, NewVal, NewTree) but also unifies OldVal with the value associated with Key in Tree.Source
rb_visit/2Pairs is an infix visit of tree Tree, where each element of Pairs is of the form Key-Value.Source
readln.plShow source
readutil.pl  -- Read utilitiesShow source
record.plShow source
current_record/2True if Name is the name of a record defined in the module associated with Term and Term is the user-provided record declaration.Source
current_record_predicate/2True if PI is the predicate indicator for an access predicate to Record.Source
record/1Define access predicates for a compound-term.Source
rwlocks.pl  -- Read/write locksShow source
sandbox.pl  -- Sandboxed Prolog codeShow source
settings.plShow source
convert_setting_text/3Converts from textual form to Prolog Value.Source
current_setting/1True if Setting is a currently defined setting.Source
env/2Evaluate environment variables on behalf of arithmetic expressions.Source
env/3Evaluate environment variables on behalf of arithmetic expressions.Source
list_settings/0List settings to current_output.Source
list_settings/1List settings to current_output.Source
load_settings/1Load local settings from File.Source
load_settings/2Load local settings from File.Source
restore_setting/1Restore the value of setting Name to its default.Source
save_settings/0Save modified settings to File.Source
save_settings/1Save modified settings to File.Source
set_setting/2Change a setting.Source
set_setting_default/2Change the default for a setting.Source
setting/2True when Name is a currently defined setting with Value.Source
setting/4Define a setting.Source
setting_property/2Query currently defined settings.Source
shell.pl  -- Elementary shell commandsShow source
shlib.pl  -- Utility library for loading foreign objects (DLLs, shared objects)Show source
solution_sequences.plShow source
call_nth/2True when Goal succeeded for the Nth time.Source
distinct/1True if Goal is true and no previous solution of Goal bound Witness to the same value.Source
distinct/2True if Goal is true and no previous solution of Goal bound Witness to the same value.Source
group_by/4Group bindings of Template that have the same value for By.Source
limit/2Limit the number of solutions.Source
offset/2Ignore the first Count solutions.Source
order_by/2Order solutions according to Spec.Source
reduced/1Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory.Source
reduced/3Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory.Source
sort.plShow source
statistics.plShow source
call_time/2Call Goal as call/1, unifying Time with a dict that provides information on the resource usage.Source
call_time/3Call Goal as call/1, unifying Time with a dict that provides information on the resource usage.Source
statistics/0Print information about resource usage using print_message/2.Source
statistics/1Stats is a dict representing the same information as statistics/0.Source
thread_statistics/2Obtain statistical information about a single thread.Source
time/1Execute Goal, reporting statistics to the user.Source
streams.pl  -- Manage Prolog streamsShow source
with_output_to/3Run Goal and once/1 while capturing all output to all streams (current_output, user_output and user_error) in the string Output.Source
strings.pl  -- String utilitiesShow source
system.pl  -- System utilitiesShow source
tables.plShow source
abolish_table_call/1Same as abolish_table_subgoals/1.Source
abolish_table_call/2Same as abolish_table_subgoals/1.Source
abolish_table_pred/1Invalidates all tabled subgoals for the predicate denoted by the predicate or term indicator Pred.Source
abolish_table_subgoals/2Behaves as abolish_table_subgoals/1, but allows the default table_gc_action to be over-ridden with a flag, which can be either abolish_tables_transitively or abolish_tables_singly.Source
get_call/3True when Trie is an answer trie for a variant of CallTerm.Source
get_calls/3True when Trie is an answer trie for a variant that unifies with CallTerm and Skeleton is the answer skeleton.Source
get_residual/2True if CallTerm appears in a table and has DelayList.Source
get_returns/2True when Return is an answer template for the AnswerTrie.Source
get_returns/3True when Return is an answer template for the AnswerTrie and the answer is represented by the trie node NodeID.Source
get_returns_and_dls/3True when Return appears in AnswerTrie with the given DelayLists.Source
get_returns_and_tvs/3Identical to get_returns/2, but also obtains the truth value of a given answer, setting TruthValue to t if the answer is unconditional and to u if it is conditional.Source
get_returns_for_call/2True if AnswerTerm appears in the tables for the variant CallTerm.Source
set_pil_off/0Dummy predicates for XSB compatibility.Source
set_pil_on/0Dummy predicates for XSB compatibility.Source
t not/1Tabled negation.Source
tfindall/3This predicate emerged in XSB in an attempt to provide a safer alternative to findall/3.Source
terms.pl  -- Term manipulationShow source
thread.pl  -- High level thread primitivesShow source
call_in_thread/2Run Goal as an interrupt in the context of Thread.Source
concurrent/3Run Goals in parallel using N threads.Source
concurrent_and/2Concurrent version of (Generator,Test).Source
concurrent_and/3Concurrent version of (Generator,Test).Source
concurrent_forall/2True when Action is true for all solutions of Generate.Source
concurrent_forall/3True when Action is true for all solutions of Generate.Source
concurrent_maplist/2Concurrent version of maplist/2.Source
concurrent_maplist/3Concurrent version of maplist/2.Source
concurrent_maplist/4Concurrent version of maplist/2.Source
first_solution/3Try alternative solvers concurrently, returning the first answer.Source
thread_pool.plShow source
create_pool/1Hook to create a thread pool lazily.Source
current_thread_pool/1True if Name refers to a defined thread pool.Source
thread_create_in_pool/4Create a thread in Pool.Source
thread_pool_create/3Create a pool of threads.Source
thread_pool_destroy/1Destroy the thread pool named Name.Source
thread_pool_property/2True if Property is a property of thread pool Name.Source
worker_exitted/3It is possible that '__thread_pool_manager' no longer exists while closing down the process because the manager was killed before the worker.Source
threadutil.pl  -- Interactive thread utilitiesShow source
tty.plShow source
menu/3Show a menu.Source
tty_clear/0Clear the display.Source
tty_flash/0Give visual signal if possible, otherwise beep.Source
ugraphs.plShow source
add_edges/3Unify NewGraph with a new graph obtained by adding the list of Edges to Graph.Source
add_vertices/3Unify NewGraph with a new graph obtained by adding the list of Vertices to Graph.Source
complement/2UGraphOut is a ugraph with an edge between all vertices that are not connected in UGraphIn and all edges from UGraphIn removed.Source
compose/3Compose NewGraph by connecting the drains of LeftGraph to the sources of RightGraph.Source
connect_ugraph/3Adds Start as an additional vertex that is connected to all vertices in UGraphIn.Source
del_edges/3Unify NewGraph with a new graph obtained by removing the list of Edges from Graph.Source
del_vertices/3Unify 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.Source
edges/2Unify Edges with all edges appearing in Graph.Source
neighbors/3Neigbours is a sorted list of the neighbours of Vertex in Graph.Source
neighbours/3Neigbours is a sorted list of the neighbours of Vertex in Graph.Source
reachable/3True when Vertices is an ordered set of vertices reachable in UGraph, including Vertex.Source
top_sort/2Sort vertices topologically.Source
transitive_closure/2Generate the graph Closure as the transitive closure of Graph.Source
transpose_ugraph/2Unify NewGraph with a new graph obtained from Graph by replacing all edges of the form V1-V2 by edges of the form V2-V1.Source
ugraph_layers/2Sort vertices topologically.Source
ugraph_union/3NewGraph is the union of Graph1 and Graph2.Source
vertices/2Unify Vertices with all vertices appearing in Graph.Source
vertices_edges_to_ugraph/3Create a UGraph from Vertices and Edges.Source
url.pl  -- Analysing and constructing URLShow source
utf8.pl  -- UTF-8 encoding/decoding on lists of character codes.Show source
varnumbers.plShow source
max_var_number/3True when Max is the max of Start and the highest numbered $VAR(N) term.Source
numbervars/1Number variables in Term using $VAR(N).Source
varnumbers/2Inverse of numbervars/1.Source
varnumbers/3Inverse of numbervars/3.Source
varnumbers_names/3If 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.Source
wfs.pl  -- Well Founded Semantics interfaceShow source
when.pl  -- Conditional coroutiningShow source
writef.plShow source
swritef/2Use writef/1 or writef/2 and write the result to a string.Source
swritef/3Use writef/1 or writef/2 and write the result to a string.Source
writef/1Formatted write to the current_output.Source
writef/2Formatted write to the current_output.Source
www_browser.pl  -- Open a URL in the users browserShow source
yall.plShow source
//2Shorthand for Free/[]>>Lambda.Source
//3Shorthand for Free/[]>>Lambda.Source
//4Shorthand for Free/[]>>Lambda.Source
//5Shorthand for Free/[]>>Lambda.Source
//6Shorthand for Free/[]>>Lambda.Source
//7Shorthand for Free/[]>>Lambda.Source
//8Shorthand for Free/[]>>Lambda.Source
//9Shorthand for Free/[]>>Lambda.Source
>>/2Calls a copy of Lambda.Source
>>/3Calls a copy of Lambda.Source
>>/4Calls a copy of Lambda.Source
>>/5Calls a copy of Lambda.Source
>>/6Calls a copy of Lambda.Source
>>/7Calls a copy of Lambda.Source
>>/8Calls a copy of Lambda.Source
>>/9Calls a copy of Lambda.Source
is_lambda/1True if Term is a valid Lambda expression.Source
lambda_calls/2Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.Source
lambda_calls/3Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.Source
zip.plShow source
with_zipper/2Run Goal while holding ownership over Zipper.Source
zip_close/1Close a zipper.Source
zip_close/2Close a zipper.Source
zip_open/4Create a Zipper, providing access to File.Source
zipper_file_info/3Obtain information about the current zip entry.Source
zipper_goto/2Seek Zipper to a specified entry.
zipper_members/2True when Members is the list of file names in the Zipper.Source
zipper_open_current/3Open the current entry as an input stream.