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
arithmetic.pl  -- Extensible arithmeticShow source
assoc.plShow source
assoc_to_keys/2True if Keys is the list of keys in Assoc.Source
assoc_to_list/2Translate Assoc to a list Pairs of Key-Value pairs.Source
assoc_to_values/2True if Values is the list of values in Assoc.Source
del_assoc/4True if Key-Value is in Assoc0.Source
del_max_assoc/4True if Key-Value is in Assoc0 and Key is the greatest key.Source
del_min_assoc/4True if Key-Value is in Assoc0 and Key is the smallest key.Source
empty_assoc/1Is true if Assoc is the empty association list.Source
gen_assoc/3True if Key-Value is an association in Assoc.Source
get_assoc/3True if Key-Value is an association in Assoc.Source
get_assoc/5True if Key-Val0 is in Assoc0 and Key-Val is in Assoc.Source
is_assoc/1True if Assoc is an association list.Source
list_to_assoc/2Create an association from a list Pairs of Key-Value pairs.Source
map_assoc/2True if Pred(Value) is true for all values in Assoc.Source
map_assoc/3Map corresponding values.Source
max_assoc/3True if Key-Value is in Assoc and Key is the largest key.Source
min_assoc/3True if Key-Value is in assoc and Key is the smallest key.Source
ord_list_to_assoc/2Assoc is created from an ordered list Pairs of Key-Value pairs.Source
put_assoc/4Assoc is Assoc0, except that Key is associated with Value.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.pl  -- I/O on Lists of Character CodesShow source
check.pl  -- Consistency checkingShow source
codesio.pl  -- I/O on Lists of Character CodesShow source
coinduction.plShow source
coinductive/1The declaration :- coinductive name/arity, ... defines predicates as coinductive.Source
csv.pl  -- Process CSV (Comma-Separated Values) dataShow 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.plShow source
date_time_value/3Extract values from a date-time structure.Source
day_of_the_week/2Computes the day of the week for a given date.Source
day_of_the_year/2Computes the day of the year for a given date.Source
parse_time/2Stamp is a timestamp created from parsing Text using the representation Format.Source
parse_time/3Stamp is a timestamp created from parsing Text using the representation Format.Source
debug.pl  -- Print debug messages and test assertionsShow 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.pl  -- The dif/2 constraintShow source
edinburgh.pl  -- Some traditional Edinburgh predicatesShow source
edit.pl  -- Editor interfaceShow source
error.plShow source
explain.pl  -- Describe Prolog TermsShow source
fastrw.pl  -- Fast reading and writing of termsShow 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.pl  -- heaps/priority queuesShow source
help.pl  -- Text based manualShow source
increval.pl  -- Incremental dynamic predicate modificationShow source
intercept.plShow source
intercept/3Run Goal as call/1.Source
intercept/4Similar 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.Source
intercept_all/4True when List contains all instances of Template that have been sent using send_signal/1 where the argument unifies with Ball.Source
nb_intercept_all/4As intercept_all/4, but backtracing inside Goal does not reset List.Source
send_signal/1If this predicate is called from a sub-goal of intercept/3, execute the associated Handler of the intercept/3 environment.Source
send_silent_signal/1As send_signal/1, but succeed silently if there is no matching intercept environment.Source
iostream.pl  -- Utilities to deal with streamsShow source
close_any/1Execute the Close closure returned by open_any/5.Source
open_any/5Establish a stream from Specification that should be closed using Close, which can either be called or passed to close_any/1.Source
lazy_lists.plShow source
lazy_engine_next/4Lazy list iterator for engines.Source
lazy_findall/3True when List is a lazy list containing the instantiations for Template for each answer of Goal.Source
lazy_findall/4True when List is a lazy list containing the instantiations for Template for each answer of Goal.Source
lazy_get_codes/4Lazy list iterator to get character codes from a stream.Source
lazy_list/2Create a lazy list from a callback.Source
lazy_list/3Create a lazy list where the next element is defined by.Source
lazy_list_iterator/4Directive to create a lazy list iterator from a predicate that gets a single next value.Source
lazy_list_length/2True if Len is the length of the materialized lazy list.Source
lazy_list_materialize/1Materialize the lazy list.Source
lazy_message_queue/4Lazy list iterator for message queues.Source
lazy_read_lines/4Lazy list iterator to read lines from Stream.Source
lazy_read_terms/4Turn a stream into a lazy list of Prolog terms.Source
listing.pl  -- List programs and pretty print clausesShow source
listing/0Lists all predicates defined in the calling module.Source
listing/1List matching clauses.Source
listing/2List matching clauses.Source
portray_clause/1Portray `Clause' on the current output stream.Source
portray_clause/2Portray `Clause' on the current output stream.Source
portray_clause/3Portray `Clause' on the current output stream.Source
lists.pl  -- List ManipulationShow source
main.pl  -- Provide entry point for scriptsShow source
make.plShow source
make/0Reload all source files that have been changed since they were loaded.Source
make_reload_file/1Reload file into the proper module.Source
modules.pl  -- Module utility predicatesShow source
nb_set.pl  -- Non-backtrackable setsShow source
occurs.pl  -- Finding and counting sub-termsShow source
operators.pl  -- Manage operatorsShow source
option.pl  -- Option list processingShow 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.pl  -- Ordered set manipulationShow 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.pl  -- Portray textShow source
pprint.pl  -- Pretty Print Prolog termsShow source
predicate_options.plShow source
assert_predicate_options/4As predicate_options(:PI, +Arg, +Options).Source
check_predicate_option/3Verify predicate options at runtime.Source
check_predicate_options/0Analyse loaded program for erroneous options.Source
check_predicate_options/1Verify calls to predicates that have options in all clauses of the predicate indicated by PredicateIndicator.Source
current_option_arg/2True when Arg of PI processes predicate options.Source
current_predicate_option/3True when Arg of PI processes Option.Source
current_predicate_options/3True when Options is the current active option declaration for PI on Arg.Source
derive_predicate_options/0Derive new predicate option declarations.Source
derived_predicate_options/1Derive predicate option declarations for a module.Source
derived_predicate_options/3Derive option arguments using static analysis.Source
predicate_options/3Declare that the predicate PI processes options on Arg.Source
retractall_predicate_options/0Remove all dynamically (derived) predicate options.Source
prolog_autoload.pl  -- Autoload all dependenciesShow source
prolog_breakpoints.pl  -- Manage Prolog break-pointsShow source
prolog_clause.plShow 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.plShow source
prolog_program_clause/2True when ClauseRef is a reference for clause in the program.Source
prolog_walk_code/1Walk over all loaded (user) Prolog code.Source
subterm_pos/5True 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.Source
prolog_colour.pl  -- Prolog syntax colouring support.Show source
prolog_coverage.pl  -- Coverage analysis toolShow source
prolog_debug.pl  -- User level debugging toolsShow source
prolog_format.pl  -- Analyse format specificationsShow source
prolog_history.plShow source
prolog_history/1Execute Action on the history.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.pl  -- A package manager for PrologShow source
prolog_profile.plShow source
profile/1Run once(Goal) under the execution profiler.Source
profile/2Run once(Goal) under the execution profiler.Source
profile_data/1Gather all relevant data from profiler.Source
profile_procedure_data/2Collect data for Pred.Source
show_profile/1Display last collected profiling data.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.pl  -- Demand specific (Prolog) versionsShow source
prolog_wrap.pl  -- Wrapping predicatesShow 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
quasi_quotations.pl  -- Define Quasi Quotation syntaxShow source
quintus.pl  -- Quintus compatibilityShow source
random.pl  -- Random numbersShow source
rbtrees.pl  -- Red black treesShow source
readutil.pl  -- Read utilitiesShow source
record.pl  -- Access compound arguments by nameShow source
rwlocks.pl  -- Read/write locksShow source
sandbox.pl  -- Sandboxed Prolog codeShow source
settings.pl  -- Setting managementShow 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.pl  -- Get information about resource usageShow source
streams.pl  -- Manage Prolog streamsShow 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.plShow source
foldsubterms/4The predicate foldsubterms/5 calls call(Goal4, SubTerm1, SubTerm2, StateIn, StateOut) for each subterm, including variables, in Term1.Source
foldsubterms/5The predicate foldsubterms/5 calls call(Goal4, SubTerm1, SubTerm2, StateIn, StateOut) for each subterm, including variables, in Term1.Source
mapargs/3Term1 and Term2 have the same functor (name/arity) and for each matching pair of arguments call(Goal, A1, A2) is true.Source
mapsubterms/3Recursively map sub terms of Term1 into subterms of Term2 for every pair for which call(Goal, ST1, ST2) succeeds.Source
mapsubterms_var/3Recursively map sub terms of Term1 into subterms of Term2 for every pair for which call(Goal, ST1, ST2) succeeds.Source
same_functor/2True when Term1 and Term2 are terms that have the same functor (Name/Arity).Source
same_functor/3True when Term1 and Term2 are terms that have the same functor (Name/Arity).Source
same_functor/4True when Term1 and Term2 are terms that have the same functor (Name/Arity).Source
subsumes/2True if Generic is unified to Specific without changing Specific.Source
subsumes_chk/2True if Generic can be made equivalent to Specific without changing Specific.Source
term_factorized/3Is 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.Source
term_size/2True if Size is the size in cells occupied by Term on the global (term) stack.Source
term_subsumer/3General is the most specific term that is a generalisation of Special1 and Special2.Source
variant/2Same as SWI-Prolog Term1 =@= Term2.Source
thread.pl  -- High level thread primitivesShow source
thread_pool.pl  -- Resource bounded thread managementShow source
threadutil.pl  -- Interactive thread utilitiesShow source
ugraphs.pl  -- Graph manipulation libraryShow source
url.pl  -- Analysing and constructing URLShow source
utf8.pl  -- UTF-8 encoding/decoding on lists of character codes.Show source
varnumbers.pl  -- Utilities for numbered termsShow source
wfs.pl  -- Well Founded Semantics interfaceShow source
when.plShow source
when/2Execute Goal when Condition is satisfied.Source
www_browser.plShow source
expand_url_path/2Expand URL specifications similar to absolute_file_name/3.Source
known_browser/2True if browser FileBaseName has a remote protocol compatible to Compatible.Source
www_open_url/1Open URL in running version of the users' browser or start a new browser.Source
yall.pl  -- Lambda expressionsShow source
zip.pl  -- Access resource ZIP archivesShow source