## F.1 Predicates

The predicate summary is used by the Prolog predicate apropos/1 to suggest predicates from a keyword.

@/2 | Call using calling context
!/0 | Cut (discard choicepoints)
$/0 | Discard choicepoints and demand deterministic success
$/1 | Verify goal succeeds deterministically
,/2 | Conjunction of goals
->/2 | If-then-else
*->/2 | Soft-cut
./2 | Consult. Also functional notation
:</2 | Select keys from a dict
:=/2 | WASM: Call JavaScript
;/2 | Disjunction of two goals
</2 | Arithmetic smaller
=/2 | True when arguments are unified
=../2 | “Univ.” Term to list conversion
=:=/2 | Arithmetic equality
=</2 | Arithmetic smaller or equal
==/2 | Test for strict equality
=@=/2 | Test for structural equality (variant)
=\=/2 | Arithmetic not equal
>/2 | Arithmetic larger
>=/2 | Arithmetic larger or equal
>:</2 | Partial dict unification
?=/2 | Test of terms can be compared now
@</2 | Standard order smaller
@=</2 | Standard order smaller or equal
@>/2 | Standard order larger
@>=/2 | Standard order larger or equal
\+/1 | Negation by failure. Same as not/1
\=/2 | True if arguments cannot be unified
\==/2 | True if arguments are not strictly equal
\=@=/2 | Not structural identical
^/2 | Existential quantification (bagof/3, setof/3)
|/2 | Disjunction in DCGs. Same as ;/2
/1 | DCG escape; constraints
abolish/1 | Remove predicate definition from the database
abolish/2 | Remove predicate definition from the database
abolish_all_tables/0 | Abolish computed tables
abolish_module_tables/1 | Abolish all tables in a module
abolish_monotonic_tables/0 | Abolish all monotonic tables
abolish_nonincremental_tables/0 | Abolish non-automatic tables
abolish_nonincremental_tables/1 | Abolish non-automatic tables
abolish_private_tables/0 | Abolish tables of this thread
abolish_shared_tables/0 | Abolish tables shared between threads
abolish_table_subgoals/1 | Abolish tables for a goal
abort/0 | Abort execution, return to top level
absolute_file_name/2 | Get absolute path name
absolute_file_name/3 | Get absolute path name with options
answer_count_restraint/0 | Undefined answer due to `max_answers`
access_file/2 | Check access permissions of a file
acyclic_term/1 | Test term for cycles
add_import_module/3 | Add module to the auto-import list
add_nb_set/2 | Add term to a non-backtrackable set
add_nb_set/3 | Add term to a non-backtrackable set
append/1 | Append to a file
apple_current_locale_identifier/1 | Get Apple locale info
apply/2 | Call goal with additional arguments
apropos/1 | `library(online_help)` Search manual
arg/3 | Access argument of a term
assoc_to_list/2 | Convert association tree to list
assert/1 | Add a clause to the database
assert/2 | Add a clause to the database, give reference
asserta/1 | Add a clause to the database (first)
asserta/2 | Add a clause to the database (first)
assertion/1 | Make assertions about your program
assertz/1 | Add a clause to the database (last)
assertz/2 | Add a clause to the database (last)
attach_console/0 | Attach I/O console to thread
attach_packs/0 | Attach add-ons
attach_packs/1 | Attach add-ons from directory
attach_packs/2 | Attach add-ons from directory
attribute_goals/3 | Project attributes to goals
attr_unify_hook/2 | Attributed variable unification hook
attr_portray_hook/2 | Attributed variable print hook
attvar/1 | Type test for attributed variable
at_end_of_stream/0 | Test for end of file on input
at_end_of_stream/1 | Test for end of file on stream
at_halt/1 | Register goal to run at halt/1
atom/1 | Type check for an atom
atom_chars/2 | Convert between atom and list of characters
atom_codes/2 | Convert between atom and list of characters codes
atom_concat/3 | Concatenate two atoms
atom_length/2 | Determine length of an atom
atom_number/2 | Convert between atom and number
atom_prefix/2 | Test for start of atom
atom_string/2 | Conversion between atom and string
atom_to_term/3 | Convert between atom and term
atomic/1 | Type check for primitive
atomic_concat/3 | Concatenate two atomic values to an atom
atomic_list_concat/2 | Append a list of atomics
atomic_list_concat/3 | Append a list of atomics with separator
atomics_to_string/2 | Concatenate list of inputs to a string
atomics_to_string/3 | Concatenate list of inputs to a string
autoload/1 | Declare a file for autoloading
autoload/2 | Declare a file for autoloading specific predicates
autoload_all/0 | Autoload all predicates now
autoload_call/1 | Call after autoloading
autoload_path/1 | Add directories for autoloading
await/2 | WASM: Wait for a Promise
b_getval/2 | Fetch backtrackable global variable
b_set_dict/3 | Destructive assignment on a dict
b_setval/2 | Assign backtrackable global variable
bagof/3 | Find all solutions to a goal
between/3 | Integer range checking/generating
blob/2 | Type check for a blob
bounded_number/3 | Number between bounds
break/0 | Start interactive top level
break_hook/6 | (hook) Debugger hook
byte_count/2 | Byte-position in a stream
call/1 | Call a goal
call/[2..] | Call with additional arguments
call_cleanup/2 | Guard a goal with a cleanup-handler
call_dcg/3 | As phrase/3 without type checking
call_delays/2 | Get the condition associated with an answer
call_residue_vars/2 | Find residual attributed variables
call_residual_program/2 | Get residual program associated with an answer
call_shared_object_function/2 | UNIX: Call C-function in shared (.so) file
call_with_depth_limit/3 | Prove goal with bounded depth
call_with_inference_limit/3 | Prove goal in limited inferences
callable/1 | Test for atom or compound term
cancel_halt/1 | Cancel halt/0 from an at_halt/1 hook
catch/3 | Call goal, watching for exceptions
char_code/2 | Convert between character and character code
char_conversion/2 | Provide mapping of input characters
char_type/2 | Classify characters
character_count/2 | Get character index on a stream
chdir/1 | Compatibility: change working directory
chr_constraint/1 | CHR Constraint declaration
chr_show_store/1 | List suspended CHR constraints
chr_trace/0 | Start CHR tracer
chr_type/1 | CHR Type declaration
chr_notrace/0 | Stop CHR tracer
chr_leash/1 | Define CHR leashed ports
chr_option/2 | Specify CHR compilation options
clause/2 | Get clauses of a predicate
clause/3 | Get clauses of a predicate
clause_property/2 | Get properties of a clause
close/1 | Close stream
close/2 | Close stream (forced)
close_dde_conversation/1 | Win32: Close DDE channel
close_shared_object/1 | UNIX: Close shared library (.so file)
collation_key/2 | Sort key for locale dependent ordering
comment_hook/3 | (hook) handle comments in sources
compare/3 | Compare, using a predicate to determine the order
compile_aux_clauses/1 | Compile predicates for goal_expansion/2
compile_predicates/1 | Compile dynamic code to static
compiling/0 | Is this a compilation run?
compound/1 | Test for compound term
compound_name_arity/3 | Name and arity of a compound term
compound_name_arguments/3 | Name and arguments of a compound term
code_type/2 | Classify a character-code
consult/1 | Read (compile) a Prolog source file
context_module/1 | Get context module of current goal
convert_time/8 | Break time stamp into fields
convert_time/2 | Convert time stamp to string
copy_stream_data/2 | Copy all data from stream to stream
copy_stream_data/3 | Copy n bytes from stream to stream
copy_predicate_clauses/2 | Copy clauses between predicates
copy_term/2 | Make a copy of a term
copy_term/3 | Copy a term and obtain attribute-goals
copy_term/4 | Copy part of the variables in a term
copy_term_nat/2 | Make a copy of a term without attributes
copy_term_nat/4 | Copy part of the variables in a term
create_prolog_flag/3 | Create a new Prolog flag
current_arithmetic_function/1 | Examine evaluable functions
current_atom/1 | Examine existing atoms
current_blob/2 | Examine typed blobs
current_char_conversion/2 | Query input character mapping
current_engine/1 | Enumerate known engines
current_flag/1 | Examine existing flags
current_foreign_library/2 | `library(shlib)` Examine loaded shared libraries (.so files)
current_format_predicate/2 | Enumerate user-defined format codes
current_functor/2 | Examine existing name/arity pairs
current_input/1 | Get current input stream
current_key/1 | Examine existing database keys
current_locale/1 | Get the current locale
current_module/1 | Examine existing modules
current_op/3 | Examine current operator declarations
current_output/1 | Get the current output stream
current_predicate/1 | Examine existing predicates (ISO)
current_predicate/2 | Examine existing predicates
current_signal/3 | Current software signal mapping
current_stream/3 | Examine open streams
current_table/2 | Find answer table for a variant
current_transaction/1 | Detect encapsulating transactions
current_trie/1 | Enumerate known tries
cyclic_term/1 | Test term for cycles
day_of_the_week/2 | Determine ordinal-day from date
date_time_stamp/2 | Convert date structure to time-stamp
date_time_value/3 | Extract info from a date structure
dcg_translate_rule/2 | Source translation of DCG rules
dcg_translate_rule/4 | Source translation of DCG rules
dde_current_connection/2 | Win32: Examine open DDE connections
dde_current_service/2 | Win32: Examine DDE services provided
dde_execute/2 | Win32: Execute command on DDE server
dde_register_service/2 | Win32: Become a DDE server
dde_request/3 | Win32: Make a DDE request
dde_poke/3 | Win32: POKE operation on DDE server
dde_unregister_service/1 | Win32: Terminate a DDE service
debug/0 | Test for debugging mode
debug/1 | Select topic for debugging
debug/3 | Print debugging message on topic
debug_control_hook/1 | (hook) Extend spy/1, etc.
debugging/0 | Show debugger status
debugging/1 | Test where we are debugging topic
default_module/2 | Query module inheritance
del_attr/2 | Delete attribute from variable
del_attrs/1 | Delete all attributes from variable
del_dict/4 | Delete Key-Value pair from a dict
delays_residual_program/2 | Get the residual program for an answer
delete_directory/1 | Remove a folder from the file system
delete_file/1 | Remove a file from the file system
delete_import_module/2 | Remove module from import list
det/1 | Declare predicates as deterministic
deterministic/1 | Test determinicity of current clause
dict_create/3 | Create a dict from data
dict_pairs/3 | Convert between dict and list of pairs
dict_same_keys/2 | True when dicts have the same keys
dif/2 | Constrain two terms to be different
directory_files/2 | Get entries of a directory/folder
discontiguous/1 | Indicate distributed definition of a predicate
divmod/4 | Compute quotient and remainder of two integers
downcase_atom/2 | Convert atom to lower-case
duplicate_term/2 | Create a copy of a term
dwim_match/2 | Atoms match in “Do What I Mean” sense
dwim_match/3 | Atoms match in “Do What I Mean” sense
dwim_predicate/2 | Find predicate in “Do What I Mean” sense
dynamic/1 | Indicate predicate definition may change
dynamic/2 | Indicate predicate definition may change
edit/0 | Edit current script- or associated file
edit/1 | Edit a file, predicate, module (extensible)
elif/1 | Part of conditional compilation (directive)
else/0 | Part of conditional compilation (directive)
empty_assoc/1 | Create/test empty association tree
empty_nb_set/1 | Test/create an empty non-backtrackable set
encoding/1 | Define encoding inside a source file
endif/0 | End of conditional compilation (directive)
engine_create/3 | Create an interactor
engine_create/4 | Create an interactor
engine_destroy/1 | Destroy an interactor
engine_fetch/1 | Get term from caller
engine_next/2 | Ask interactor for next term
engine_next_reified/2 | Ask interactor for next term
engine_post/2 | Send term to an interactor
engine_post/3 | Send term to an interactor and wait for reply
engine_self/1 | Get handle to running interactor
engine_yield/1 | Make term available to caller
ensure_loaded/1 | Consult a file if that has not yet been done
epilog/0 | Create a Prolog console
epilog/1 | Create a Prolog console
erase/1 | Erase a database record or clause
exception/3 | (hook) Handle runtime exceptions
exists_directory/1 | Check existence of directory
exists_file/1 | Check existence of file
exists_source/1 | Check existence of a Prolog source
exists_source/2 | Check existence of a Prolog source
expand_answer/2 | Expand answer of query (deprecated)
expand_answer/3 | Expand answer of query
expand_file_name/2 | Wildcard expansion of file names
expand_file_search_path/2 | Wildcard expansion of file paths
expand_goal/2 | Compiler: expand goal in clause-body
expand_goal/4 | Compiler: expand goal in clause-body
expand_query/4 | Expanded entered query
expand_term/2 | Compiler: expand read term into clause(s)
expand_term/4 | Compiler: expand read term into clause(s)
expects_dialect/1 | For which Prolog dialect is this code written?
explain/1 | `library(explain)` Explain argument
explain/2 | `library(explain)` 2nd argument is explanation of first
export/1 | Export a predicate from a module
fail/0 | Always false
false/0 | Always false
fast_term_serialized/2 | Fast term (de-)serialization
fast_read/2 | Read binary term serialization
fast_write/2 | Write binary term serialization
current_prolog_flag/2 | Get system configuration parameters
file_base_name/2 | Get file part of path
file_directory_name/2 | Get directory part of path
file_name_extension/3 | Add, remove or test file extensions
file_search_path/2 | Define path-aliases for locating files
find_chr_constraint/1 | Returns a constraint from the store
findall/3 | Find all solutions to a goal
findall/4 | Difference list version of findall/3
findnsols/4 | Find first N solutions
findnsols/5 | Difference list version of findnsols/4
fill_buffer/1 | Fill the input buffer of a stream
flag/3 | Simple global variable system
float/1 | Type check for a floating point number
float_class/2 | Classify (special) floats
float_parts/4 | Get mantissa and exponent of a float
flush_output/0 | Output pending characters on current stream
flush_output/1 | Output pending characters on specified stream
forall/2 | Prove goal for all solutions of another goal
format/1 | Formatted output
format/2 | Formatted output with arguments
format/3 | Formatted output on a stream
format_time/3 | C strftime() like date/time formatter
format_time/4 | date/time formatter with explicit locale
format_predicate/2 | Program format/[1,2]
term_attvars/2 | Find attributed variables in a term
term_variables/2 | Find unbound variables in a term
term_variables/3 | Find unbound variables in a term
text_to_string/2 | Convert arbitrary text to a string
freeze/2 | Delay execution until variable is bound
frozen/2 | Query delayed goals on var
functor/3 | Get name and arity of a term or construct a term
functor/4 | Get name and arity of a term or construct a term
garbage_collect/0 | Invoke the garbage collector
garbage_collect_atoms/0 | Invoke the atom garbage collector
garbage_collect_clauses/0 | Invoke clause garbage collector
gen_assoc/3 | Enumerate members of association tree
gen_nb_set/2 | Generate members of non-backtrackable set
gensym/2 | Generate unique atoms from a base
get/1 | Read first non-blank character
get/2 | Read first non-blank character from a stream
get_assoc/3 | Fetch key from association tree
get_assoc/5 | Fetch key from association tree
get_attr/3 | Fetch named attribute from a variable
get_attrs/2 | Fetch all attributes of a variable
get_byte/1 | Read next byte (ISO)
get_byte/2 | Read next byte from a stream (ISO)
get_char/1 | Read next character as an atom (ISO)
get_char/2 | Read next character from a stream (ISO)
get_code/1 | Read next character (ISO)
get_code/2 | Read next character from a stream (ISO)
get_dict/3 | Get the value associated to a key from a dict
get_dict/5 | Replace existing value in a dict
get_flag/2 | Get value of a flag
get_single_char/1 | Read next character from the terminal
get_string_code/3 | Get character code at index in string
get_time/1 | Get current time
get0/1 | Read next character
get0/2 | Read next character from a stream
getenv/2 | Get shell environment variable
goal_expansion/2 | Hook for macro-expanding goals
goal_expansion/4 | Hook for macro-expanding goals
ground/1 | Verify term holds no unbound variables
gdebug/0 | Debug using graphical tracer
gspy/1 | Spy using graphical tracer
gtrace/0 | Trace using graphical tracer
guitracer/0 | Install hooks for the graphical debugger
gxref/0 | Cross-reference loaded program
halt/0 | Exit from Prolog
halt/1 | Exit from Prolog with status
term_hash/2 | Hash-value of ground term
term_hash/4 | Hash-value of term with depth limit
help/0 | Give help on help
help/1 | Give help on predicates and show parts of manual
help_hook/1 | (hook) User-hook in the help-system
if/1 | Start conditional compilation (directive)
ignore/1 | Call the argument, but always succeed
import/1 | Import a predicate from a module
import_module/2 | Query import modules
in_pce_thread/1 | Run goal in XPCE thread
in_pce_thread_sync/1 | Run goal in XPCE thread
include/1 | Include a file with declarations
initialization/1 | Initialization directive
initialization/2 | Initialization directive
initialize/0 | Run program initialization
instance/2 | Fetch clause or record from reference
integer/1 | Type check for integer
interactor/0 | Start new thread with console and top level
is/2 | Evaluate arithmetic expression
is_absolute_file_name/1 | True if arg defines an absolute path
is_assoc/1 | Verify association list
is_async/0 | WASM: Test Prolog can call await/2
is_dict/1 | Type check for a dict
is_dict/2 | Type check for a dict in a class
is_engine/1 | Type check for an engine handle
is_list/1 | Type check for a list
is_message_queue/1 | Type check for a message queue
is_most_general_term/1 | Type check for general term
is_object/1 | WASM: Test JavaScript object
is_object/2 | WASM: Test JavaScript object and class
is_stream/1 | Type check for a stream handle
is_trie/1 | Type check for a trie handle
is_thread/1 | Type check for an thread handle
join_threads/0 | Join all terminated threads interactively
keysort/2 | Sort, using a key
known_licenses/0 | Print known licenses
last/2 | Last element of a list
leash/1 | Change ports visited by the tracer
length/2 | Length of a list
library_directory/1 | (hook) Directories holding Prolog libraries
license/0 | Evaluate licenses of loaded modules
license/1 | Define license for current file
license/2 | Define license for named module
line_count/2 | Line number on stream
line_position/2 | Character position in line on stream
list_debug_topics/0 | List registered topics for debugging
list_to_assoc/2 | Create association tree from list
list_to_set/2 | Remove duplicates from a list
list_strings/0 | Help porting to version 7
load_files/1 | Load source files
load_files/2 | Load source files with options
load_foreign_library/1 | `library(shlib)` Load shared library (.so file)
load_foreign_library/2 | `library(shlib)` Load shared library (.so file)
locale_create/3 | Create a new locale object
locale_destroy/1 | Destroy a locale object
locale_property/2 | Query properties of locale objects
locale_sort/2 | Language dependent sort of atoms
make/0 | Reconsult all changed source files
make_directory/1 | Create a folder on the file system
make_library_index/1 | Create autoload file INDEX.pl
malloc_property/1 | Property of the allocator
make_library_index/2 | Create selective autoload file INDEX.pl
map_assoc/2 | Map association tree
map_assoc/3 | Map association tree
max_assoc/3 | Highest key in association tree
memberchk/2 | Deterministic member/2
message_action/2 | (hook) Associate actions with messages
message_hook/3 | Intercept print_message/2
message_line_element/2 | (hook) Intercept print_message_lines/3
message_property/2 | (hook) Define display of a message
message_queue_create/1 | Create queue for thread communication
message_queue_create/2 | Create queue for thread communication
message_queue_destroy/1 | Destroy queue for thread communication
message_queue_property/2 | Query message queue properties
message_queue_set/2 | Set a message queue property
message_to_string/2 | Translate message-term to string
meta_predicate/1 | Declare access to other predicates
min_assoc/3 | Lowest key in association tree
mode/1 | module
1Query/set current type-in module
module/2 | Declare a module
module/3 | Declare a module with language options
module_property/2 | Find properties of a module
module_transparent/1 | Indicate module based meta-predicate
msort/2 | Sort, do not remove duplicates
multifile/1 | Indicate distributed definition of predicate
mutex_create/1 | Create a thread-synchronisation device
mutex_create/2 | Create a thread-synchronisation device
mutex_destroy/1 | Destroy a mutex
mutex_lock/1 | Become owner of a mutex
mutex_property/2 | Query mutex properties
mutex_statistics/0 | Print statistics on mutex usage
mutex_trylock/1 | Become owner of a mutex (non-blocking)
mutex_unlock/1 | Release ownership of mutex
mutex_unlock_all/0 | Release ownership of all mutexes
name/2 | Convert between atom and list of character codes
nb_current/2 | Enumerate non-backtrackable global variables
nb_delete/1 | Delete a non-backtrackable global variable
nb_getval/2 | Fetch non-backtrackable global variable
nb_link_dict/3 | Non-backtrackable assignment to dict
nb_linkarg/3 | Non-backtrackable assignment to term
nb_linkval/2 | Assign non-backtrackable global variable
nb_set_to_list/2 | Convert non-backtrackable set to list
nb_set_dict/3 | Non-backtrackable assignment to dict
nb_setarg/3 | Non-backtrackable assignment to term
nb_setval/2 | Assign non-backtrackable global variable
nl/0 | Generate a newline
nl/1 | Generate a newline on a stream
nodebug/0 | Disable debugging
nodebug/1 | Disable debug-topic
noguitracer/0 | Disable the graphical debugger
nonground/2 | Term is not ground due to witness
nonvar/1 | Type check for bound term
nonterminal/1 | Set predicate property
noprofile/1 | Hide (meta-) predicate for the profiler
noprotocol/0 | Disable logging of user interaction
normalize_space/2 | Normalize white space
nospy/1 | Remove spy point
nospyall/0 | Remove all spy points
not/1 | Negation by failure (argument not provable). Same as \+/1
not_exists/1 | Tabled negation for non-ground or non-tabled goals
notrace/0 | Stop tracing
notrace/1 | Do not debug argument goal
nth_clause/3 | N-th clause of a predicate
nth_integer_root_and_remainder/4 | Integer root and remainder
number/1 | Type check for integer or float
number_chars/2 | Convert between number and one-char atoms
number_codes/2 | Convert between number and character codes
number_string/2 | Convert between number and string
numbervars/3 | Number unbound variables of a term
numbervars/4 | Number unbound variables of a term
on_signal/3 | Handle a software signal
once/1 | Call a goal deterministically
op/3 | Declare an operator
open/3 | Open a file (creating a stream)
open/4 | Open a file (creating a stream)
open_dde_conversation/3 | Win32: Open DDE channel
open_null_stream/1 | Open a stream to discard output
open_resource/3 | Open a program resource as a stream
open_shared_object/2 | UNIX: Open shared library (.so file)
open_shared_object/3 | UNIX: Open shared library (.so file)
open_source_hook/3 | (hook) Open a source file
open_string/2 | Open a string as a stream
ord_list_to_assoc/2 | Convert ordered list to assoc
parse_time/2 | Parse text to a time-stamp
parse_time/3 | Parse text to a time-stamp
pce_dispatch/1 | Run XPCE GUI in separate thread
pce_call/1 | Run goal in XPCE GUI thread
peek_byte/1 | Read byte without removing
peek_byte/2 | Read byte without removing
peek_char/1 | Read character without removing
peek_char/2 | Read character without removing
peek_code/1 | Read character-code without removing
peek_code/2 | Read character-code without removing
peek_string/3 | Read a string without removing
phrase/2 | Activate grammar-rule set
phrase/3 | Activate grammar-rule set (returning rest)
phrase_from_quasi_quotation/2 | Parse quasi quotation with DCG
please/3 | Query/change environment parameters
plus/3 | Logical integer addition
portray/1 | (hook) Modify behaviour of print/1
predicate_property/2 | Query predicate attributes
predsort/3 | Sort, using a predicate to determine the order
print/1 | Print a term
print/2 | Print a term on a stream
print_message/2 | Print message from (exception) term
print_message_lines/3 | Print message to stream
profile/1 | Obtain execution statistics
profile/2 | Obtain execution statistics
profile_count/3 | Obtain profile results on a predicate
profiler/2 | Obtain/change status of the profiler
prolog/0 | Run interactive top level
prolog_alert_signal/2 | Query/set unblock signal
prolog_choice_attribute/3 | Examine the choice point stack
prolog_current_choice/1 | Reference to most recent choice point
prolog_current_frame/1 | Reference to goal's environment stack
prolog_cut_to/1 | Realise global cuts
prolog_edit:locate/2 | Locate targets for edit/1
prolog_edit:locate/3 | Locate targets for edit/1
prolog_edit:edit_source/1 | Call editor for edit/1
prolog_edit:edit_command/2 | Specify editor activation
prolog_edit:load/0 | Load edit/1 extensions
prolog_exception_hook/5 | Rewrite exceptions
prolog_file_type/2 | Define meaning of file extension
prolog_frame_attribute/3 | Obtain information on a goal environment
prolog_ide/1 | Program access to the development environment
prolog_interrupt/0 | Allow debugging a thread
prolog_list_goal/1 | (hook) Intercept tracer’L’command
prolog_listen/2 | Listen to Prolog events
prolog_listen/3 | Listen to Prolog events
prolog_load_context/2 | Context information for directives
prolog_load_file/2 | (hook) Program load_files/2
prolog_skip_level/2 | Indicate deepest recursion to trace
prolog_stack_property/2 | Query properties of the stacks
prolog_to_os_filename/2 | Convert between Prolog and OS filenames
prolog_trace_interception/4 | `library(user)` Intercept the Prolog tracer
prolog_unlisten/2 | Stop listening to Prolog events
project_attributes/2 | Project constraints to query variables
prompt1/1 | Change prompt for 1 line
prompt/2 | Change the prompt used by read/1
protocol/1 | Make a log of the user interaction
protocola/1 | Append log of the user interaction to file
protocolling/1 | On what file is user interaction logged
public/1 | Declaration that a predicate may be called
put/1 | Write a character
put/2 | Write a character on a stream
put_assoc/4 | Add Key-Value to association tree
put_attr/3 | Put attribute on a variable
put_attrs/2 | Set/replace all attributes on a variable
put_byte/1 | Write a byte
put_byte/2 | Write a byte on a stream
put_char/1 | Write a character
put_char/2 | Write a character on a stream
put_code/1 | Write a character-code
put_code/2 | Write a character-code on a stream
put_dict/3 | Add/replace multiple keys in a dict
put_dict/4 | Add/replace a single key in a dict
qcompile/1 | Compile source to Quick Load File
qcompile/2 | Compile source to Quick Load File
qsave_program/1 | Create runtime application
qsave_program/2 | Create runtime application
quasi_quotation_syntax/1 | Declare quasi quotation syntax
quasi_quotation_syntax_error/1 | Raise syntax error
radial_restraint/0 | Tabling radial restraint was violated
random_property/1 | Query properties of random generation
rational/1 | Type check for a rational number
rational/3 | Decompose a rational
read/1 | Read Prolog term
read/2 | Read Prolog term from stream
read_clause/3 | Read clause from stream
read_link/3 | Read a symbolic link
read_pending_codes/3 | Fetch buffered input from a stream
read_pending_chars/3 | Fetch buffered input from a stream
read_string/3 | Read a number of characters into a string
read_string/5 | Read string up to a delimiter
read_term/2 | Read term with options
read_term/3 | Read term with options from stream
read_term_from_atom/3 | Read term with options from atom
read_term_with_history/2 | Read term with command line history
recorda/2 | Record term in the database (first)
recorda/3 | Record term in the database (first)
recorded/2 | Obtain term from the database
recorded/3 | Obtain term from the database
recordz/2 | Record term in the database (last)
recordz/3 | Record term in the database (last)
redefine_system_predicate/1 | Abolish system definition
reexport/1 | Load files and re-export the imported predicates
reexport/2 | Load predicates from a file and re-export it
reload_foreign_libraries/0 | Reload DLLs/shared objects
reload_library_index/0 | Force reloading the autoload index
rename_file/2 | Change name of file
repeat/0 | Succeed, leaving infinite backtrack points
require/1 | This file requires these predicates
reset/3 | Wrapper for delimited continuations
reset_gensym/1 | Reset a gensym key
reset_gensym/0 | Reset all gensym keys
reset_profiler/0 | Clear statistics obtained by the profiler
resource/2 | Declare a program resource
resource/3 | Declare a program resource
retract/1 | Remove clause from the database
retractall/1 | Remove unifying clauses from the database
same_file/2 | Succeeds if arguments refer to same file
same_term/2 | Test terms to be at the same address
see/1 | Change the current input stream
seeing/1 | Query the current input stream
seek/4 | Modify the current position in a stream
seen/0 | Close the current input stream
select_dict/2 | Select matching attributes from a dict
select_dict/3 | Select matching attributes from a dict
set_end_of_stream/1 | Set physical end of an open file
set_epilog/1 | Control the SWI-Prolog console
set_flag/2 | Set value of a flag
set_input/1 | Set current input stream from a stream
set_locale/1 | Set the default local
set_malloc/1 | Set memory allocator property
set_module/1 | Set properties of a module
set_output/1 | Set current output stream from a stream
set_prolog_IO/3 | Prepare streams for interactive session
set_prolog_flag/2 | Define a system feature
set_prolog_gc_thread/1 | Control the gc thread
set_prolog_stack/2 | Modify stack characteristics
set_random/1 | Control random number generation
set_stream/2 | Set stream attribute
set_stream_position/2 | Seek stream to position
set_system_IO/3 | Rebind stdin/stderr/stdout
setup_call_cleanup/3 | Undo side-effects safely
setup_call_catcher_cleanup/4 | Undo side-effects safely
setarg/3 | Destructive assignment on term
setenv/2 | Set shell environment variable
setlocale/3 | Set/query C-library regional information
setof/3 | Find all unique solutions to a goal
shell/1 | Execute OS command
shell/2 | Execute OS command
shift/1 | Shift control to the closest reset/3
shift_for_copy/1 | Shift control to the closest reset/3
show_profile/1 | Show results of the profiler
sig_atomic/1 | Run goal without handling signals
sig_block/1 | Block matching thread signals
sig_pending/1 | Query pending signals
sig_remove/2 | Remove pending signals
sig_unblock/1 | Unblock matching thread signals
size_abstract_term/3 | Abstract a term (tabling support)
size_file/2 | Get size of a file in characters
size_nb_set/2 | Determine size of non-backtrackable set
skip/1 | Skip to character in current input
skip/2 | Skip to character on stream
sleep/1 | Suspend execution for specified time
snapshot/1 | Run goal in isolation
sort/2 | Sort elements in a list
sort/4 | Sort elements in a list
source_exports/2 | Check whether source exports a predicate
source_file/1 | Examine currently loaded source files
source_file/2 | Obtain source file of predicate
source_file_property/2 | Information about loaded files
source_location/2 | Location of last read term
split_string/4 | Break a string into substrings
spy/1 | Force tracer on specified predicate
stamp_date_time/3 | Convert time-stamp to date structure
statistics/2 | Obtain collected statistics
stream_pair/3 | Create/examine a bi-directional stream
stream_position_data/3 | Access fields from stream position
stream_property/2 | Get stream properties
string/1 | Type check for string
string_bytes/3 | Translates between text and bytes in encoding
string_concat/3 | atom_concat/3 for strings
string_length/2 | Determine length of a string
string_chars/2 | Conversion between string and list of characters
string_codes/2 | Conversion between string and list of character codes
string_code/3 | Get or find a character code in a string
string_lower/2 | Case conversion to lower case
string_upper/2 | Case conversion to upper case
string_predicate/1 | (hook) Predicate contains strings
strip_module/3 | Extract context module and term
style_check/1 | Change level of warnings
sub_atom/5 | Take a substring from an atom
sub_atom_icasechk/3 | Case insensitive substring match
sub_string/5 | Take a substring from a string
subsumes_term/2 | One-sided unification test
succ/2 | Logical integer successor relation
swritef/2 | Formatted write on a string
swritef/3 | Formatted write on a string
tab/1 | Output number of spaces
tab/2 | Output number of spaces on a stream
table/1 | Declare predicate to be tabled
tabled_call/1 | Helper for not_exists/1
tdebug/0 | Switch all threads into debug mode
tdebug/1 | Switch a thread into debug mode
tell/1 | Change current output stream
telling/1 | Query current output stream
term_expansion/2 | (hook) Convert term before compilation
term_expansion/4 | (hook) Convert term before compilation
term_singletons/2 | Find singleton variables in a term
term_string/2 | Read/write a term from/to a string
term_string/3 | Read/write a term from/to a string
term_subsumer/3 | Most specific generalization of two terms
term_to_atom/2 | Convert between term and atom
thread_affinity/3 | Query and control the affinity mask
thread_alias/1 | Set the alias name of a thread
thread_at_exit/1 | Register goal to be called at exit
thread_create/2 | Create a new Prolog task
thread_create/3 | Create a new Prolog task
thread_detach/1 | Make thread cleanup after completion
thread_exit/1 | Terminate Prolog task with value
thread_get_message/1 | Wait for message
thread_get_message/2 | Wait for message in a queue
thread_get_message/3 | Wait for message in a queue
thread_idle/2 | Reduce footprint while waiting
thread_initialization/1 | Run action at start of thread
thread_join/1 | Wait for Prolog task-completion
thread_join/2 | Wait for Prolog task-completion
thread_local/1 | Declare thread-specific clauses for a predicate
thread_message_hook/3 | Thread local message_hook/3
thread_peek_message/1 | Test for message
thread_peek_message/2 | Test for message in a queue
thread_property/2 | Examine Prolog threads
thread_self/1 | Get identifier of current thread
thread_send_message/2 | Send message to another thread
thread_send_message/3 | Send message to another thread
thread_setconcurrency/2 | Number of active threads
thread_signal/2 | Execute goal in another thread
thread_statistics/3 | Get statistics of another thread
thread_update/2 | Update a module and signal waiters
thread_wait/2 | Wait for a goal to become true
threads/0 | List running threads
throw/1 | Raise an exception (see catch/3)
time/1 | Determine time needed to execute goal
time_file/2 | Get last modification time of file
tmp_file/2 | Create a temporary filename
tmp_file_stream/3 | Create a temporary file and open it
tnodebug/0 | Switch off debug mode in all threads
tnodebug/1 | Switch off debug mode in a thread
tnot/1 | Tabled negation
told/0 | Close current output
tprofile/1 | Profile a thread for some period
trace/0 | Start the tracer
tracing/0 | Query status of the tracer
transaction/1 | Run goal in a transaction
transaction/2 | Run goal in a transaction
transaction/3 | Run goal in a transaction
transaction_updates/1 | Updates to be committed in a transaction
trie_delete/3 | Remove term from trie
trie_destroy/1 | Destroy a trie
trie_gen/3 | Get all terms from a trie
trie_gen_compiled/2 | Get all terms from a trie
trie_gen_compiled/3 | Get all terms from a trie
trie_insert/2 | Insert term into a trie
trie_insert/3 | Insert term into a trie
trie_insert/4 | Insert term into a trie
trie_lookup/3 | Lookup a term in a trie
trie_new/1 | Create a trie
trie_property/2 | Examine a trie's properties
trie_update/3 | Update associated value in trie
trie_term/2 | Get term from a trie by handle
trim_heap/0 | Release unused malloc() resources
trim_stacks/0 | Release unused stack resources
tripwire/2 | (hook) Handle a tabling tripwire event
true/0 | Succeed
tspy/1 | Set spy point and enable debugging in all threads
tspy/2 | Set spy point and enable debugging in a thread
tty_get_capability/3 | Get terminal parameter
tty_goto/2 | Goto position on screen
tty_put/2 | Write control string to terminal
tty_size/2 | Get row/column size of the terminal
ttyflush/0 | Flush output on terminal
undefined/0 | Well Founded Semantics: true nor false
undo/1 | Schedule goal for backtracking
unify_with_occurs_check/2 | Logically sound unification
unifiable/3 | Determining binding required for unification
unknown/2 | Trap undefined predicates
unload_file/1 | Unload a source file
unload_foreign_library/1 | `library(shlib)` Detach shared library (.so file)
unload_foreign_library/2 | `library(shlib)` Detach shared library (.so file)
unsetenv/1 | Delete shell environment variable
untable/1 | Remove tabling instrumentation
upcase_atom/2 | Convert atom to upper-case
use_foreign_library/1 | Load DLL/shared object (directive)
use_foreign_library/2 | Load DLL/shared object (directive)
use_module/1 | Import a module
use_module/2 | Import predicates from a module
valid_string_goal/1 | (hook) Goal handles strings
var/1 | Type check for unbound variable
var_number/2 | Check that var is numbered by numbervars
var_property/2 | Variable properties during macro expansion
variant_sha1/2 | Term-hash for term-variants
variant_hash/2 | Term-hash for term-variants
version/0 | Print system banner message
version/1 | Add messages to the system banner
visible/1 | Ports that are visible in the tracer
volatile/1 | Predicates that are not saved
wait_for_input/3 | Wait for input with optional timeout
when/2 | Execute goal when condition becomes true
wildcard_match/2 | POSIX style glob pattern matching
wildcard_match/3 | POSIX style glob pattern matching
win_add_dll_directory/1 | Add directory to DLL search path
win_add_dll_directory/2 | Add directory to DLL search path
win_remove_dll_directory/1 | Remove directory from DLL search path
win_exec/2 | Win32: spawn Windows task
win_has_menu/0 | Win32: true if console menu is available
win_folder/2 | Win32: get special folder by CSIDL
win_process_modules/1 | Win32 get .exe and .dll files of the process
win_shell/2 | Win32: open document through Shell
win_shell/3 | Win32: open document through Shell
win_registry_get_value/3 | Win32: get registry value
win_get_user_preferred_ui_languages/2 | Win32: get language preferences
with_mutex/2 | Run goal while holding mutex
with_output_to/2 | Write to strings and more
with_quasi_quotation_input/3 | Parse quasi quotation from stream
with_tty_raw/1 | Run goal with terminal in raw mode
working_directory/2 | Query/change CWD
write/1 | Write term
write/2 | Write term to stream
writeln/1 | Write term, followed by a newline
writeln/2 | Write term, followed by a newline to a stream
write_canonical/1 | Write a term with quotes, ignore operators
write_canonical/2 | Write a term with quotes, ignore operators on a stream
write_length/3 | Determine #characters to output a term
write_term/2 | Write term with options
write_term/3 | Write term with options to stream
writef/1 | Formatted write
writef/2 | Formatted write on stream
writeq/1 | Write term, insert quotes
writeq/2 | Write term, insert quotes on stream