SWI-Prolog 7.1.16 Reference Manual: Section F.1

## 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)
,/2 | Conjunction of goals
->/2 | If-then-else
*->/2 | Soft-cut
./2 | Consult. Also list constructor
;/2 | Disjunction of goals. Same as |/2
</2 | Arithmetic smaller
=/2 | Unification
=../2 | ``Univ.'' Term to list conversion
=:=/2 | Arithmetic equal
=</2 | Arithmetic smaller or equal
==/2 | Identical
=@=/2 | Structural identical
=\=/2 | Arithmetic not equal
>/2 | Arithmetic larger
>=/2 | Arithmetic larger or equal
?=/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 | Not unifiable
\==/2 | Not identical
\=@=/2 | Not structural identical
^/2 | Existential quantification (bagof/3, setof/3)
|/2 | Disjunction of goals. Same as ;/2
/1 | DCG escape; constraints
abolish/1 | Remove predicate definition from the database
abolish/2 | Remove predicate definition from the database
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
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
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
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 | Append 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 atoms
atomic_list_concat/3 | Append a list of atoms with separator
autoload/0 | Autoload all predicates now
autoload_path/1 | Add directories for autoloading
b_getval/2 | Fetch backtrackable global variable
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
break/0 | Start interactive top level
byte_count/2 | Byte-position in a stream
call/1 | Call a goal
call/[2..] | Call with additional arguments
call_cleanup/3 | Guard a goal with a cleaup-handler
call_cleanup/2 | Guard a goal with a cleaup-handler
call_residue_vars/2 | Find residual attributed variables
call_shared_object_function/2 | UNIX: Call C-function in shared (.so) file
call_with_depth_limit/3 | Prove goal with bounded depth
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
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_nat/2 | Make a copy of a term without attributes
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_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
cyclic_term/1 | Test term for cycles
day_of_the_week/2 | Determine ordinal-day from date
date_time_stamp/2 | Convert sate 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
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
deterministic/1 | Test deterministicy of current clause
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
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
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)
ensure_loaded/1 | Consult a file if that has not yet been done
erase/1 | Erase a database record or clause
eval_license/0 | Evaluate licenses of loaded modules
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
expand_answer/2 | 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
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
flag/3 | Simple global variable system
float/1 | Type check for a floating point number
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
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
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
get0/1 | Read next character
get0/2 | Read next character from a stream
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_single_char/1 | Read next character from the terminal
get_time/1 | Get current time
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
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_list/1 | Type check for a list
is_stream/1 | Type check for a stream handle
join_threads/0 | Join all terminated threads interactively
keysort/2 | Sort, using a key
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/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
listing/0 | List program in current module
listing/1 | List predicate
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
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_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_to_string/2 | Translate message-term to string
meta_predicate/1 | Declare access to other predicates
min_assoc/3 | Lowest key in association tree
module/1 | Query/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_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_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
nonvar/1 | Type check for bound term
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
notrace/0 | Stop tracing
notrace/1 | Do not debug argument goal
nth_clause/3 | N-th clause of a predicate
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
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)
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
phrase/2 | Activate grammar-rule set
phrase/3 | Activate grammar-rule set (returning rest)
please/3 | Query/change environment parameters
plus/3 | Logical integer addition
portray/1 | (hook) Modify behaviour of print/1
portray_clause/1 | Pretty print a clause
portray_clause/2 | Pretty print a clause to a stream
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_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/4 | 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_list_goal/1 | (hook) Intercept tracer 'L' command
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_skip_frame/1 | Perform `skip' on a frame
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
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
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
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_history/6 | Read using history substitution
read_link/3 | Read a symbolic link
read_pending_input/3 | Fetch buffered input from a stream
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
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_gensym/1 | Reset a gensym key
reset_gensym/0 | Reset all gensym keys
reset_profiler/0 | Clear statistics obtained by the profiler
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
set_end_of_stream/1 | Set physical end of an open file
set_input/1 | Set current input stream from a stream
set_locale/1 | Set the default local
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_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
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/0 | Execute interactive subshell
shell/1 | Execute OS command
shell/2 | Execute OS command
show_profile/1 | Show results of the profiler
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
rl_add_history/1 | Add line to readline(3) history
rl_read_history/1 | Read readline(3) history
rl_read_init_file/1 | Read readline(3) init file
rl_write_history/1 | Write readline(3) history
sleep/1 | Suspend execution for specified time
sort/2 | 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
spy/1 | Force tracer on specified predicate
stamp_date_time/3 | Convert time-stamp to date structure
statistics/0 | Show execution statistics
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_concat/3 | atom_concat/3 for strings
string_length/2 | Determine length of a string
string_codes/2 | Conversion between string and list of character codes
string_code/3 | Get or find a character code in a string
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
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_subsumer/3 | Most specific generalization of two terms
term_to_atom/2 | Convert between term and atom
thread_at_exit/1 | Register goal to be called at exit
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_initialization/1 | Run action at start of thread
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_setconcurrency/2 | Number of active threads
thread_signal/2 | Execute goal in another thread
thread_statistics/3 | Get statistics of another thread
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
told/0 | Close current output
tprofile/1 | Profile a thread for some period
trace/0 | Start the tracer
trace/1 | Set trace point on predicate
trace/2 | Set/Clear trace point on ports
tracing/0 | Query status of the tracer
trim_stacks/0 | Release unused memory resources
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
unify_with_occurs_check/2 | Logically sound unification
unifiable/3 | Determining binding required for unification
unix/1 | OS interaction
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
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
var/1 | Type check for unbound variable
var_number/2 | Check that var is numbered by numbervars
variant_sha1/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 | Csh(1) style wildcard match
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/2 | 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_insert_menu/2 | swipl-win.exe: add menu
win_insert_menu_item/4 | swipl-win.exe: add item to menu
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_window_pos/1 | Win32: change size and position of window
window_title/2 | Win32: change title of window
with_mutex/2 | Run goal while holding mutex
with_output_to/2 | Write to strings and more
working_directory/2 | Query/change CWD
write/1 | Write term
write/2 | Write term to stream
writeln/1 | Write term, followed by a newline
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 | Dermine #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