Archived Website: This website is a static snapshot for archival purposes only. It is no longer maintained or updated.

Home Contents Index Summary Previous Next

E.1 Predicates

The predicate summary is used by the Prolog predicate apropos/1 to suggest predicates from a keyword.
!/0Cut (discard choicepoints)
!/1Cut block. See block/3
,/2Conjunction of goals
->/2If-then-else
*->/2Soft-cut
./2Consult. Also list constructor
;/2Disjunction of goals. Same as |/2
</2Arithmetic smaller
=/2Unification
=../2``Univ.'' Term to list conversion
=:=/2Arithmetic equal
=</2Arithmetic smaller or equal
==/2Identical
=@=/2Structural identical
=\=/2Arithmetic not equal
>/2Arithmetic larger
>=/2Arithmetic larger or equal
@</2Standard order smaller
@=</2Standard order smaller or equal
@>/2Standard order larger
@>=/2Standard order larger or equal
\+/1Negation by failure. Same as not/1
\=/2Not unifyable
\==/2Not identical
\=@=/2Not structural identical
^/2Existential quantification (bagof/3, setof/3)
|/2Disjunction of goals. Same as ;/2
abolish/1Remove predicate definition from the database
abolish/2Remove predicate definition from the database
abort/0Abort execution, return to top level
absolute_file_name/2Get absolute path name
absolute_file_name/3Get absolute path name with options
access_file/2Check access permissions of a file
append/1Append to a file
append/3Concatenate lists
apply/2Call goal with additional arguments
apropos/1library(online_help) Search manual
arg/3Access argument of a term
arithmetic_function/1Register an evaluable function
assert/1Add a clause to the database
assert/2Add a clause to the database, give reference
asserta/1Add a clause to the database (first)
asserta/2Add a clause to the database (first)
assertz/1Add a clause to the database (last)
assertz/2Add a clause to the database (last)
attach_console/0Attach I/O console to thread
at_end_of_stream/0Test for end of file on input
at_end_of_stream/1Test for end of file on stream
at_halt/1Register goal to run at halt/1
at_initialization/1Register goal to run at start-up
atom/1Type check for an atom
atom_chars/2Convert between atom and list of characters
atom_codes/2Convert between atom and list of ASCII values
atom_length/2Determine length of an atom
atom_prefix/2Test for start of atom
atom_to_term/3Convert between atom and term
atomic/1Type check for primitive
autoload/0Autoload all predicates now
bagof/3Find all solutions to a goal
between/3Integer range checking/generating
block/3Start a block (`catch'/`throw')
break/0Start interactive toplevel
call/1Call a goal
call/[2..]Call with additional arguments
call_cleanup/3Guard a goal with a cleaup-handler
call_cleanup/2Guard a goal with a cleaup-handler
call_shared_object_function/2UNIX: Call C-function in shared (.so) file
call_with_depth_limit/3Prove goal with bounded depth
callable/1Test for atom or compound term
catch/3Call goal, watching for exceptions
char_code/2Convert between atom and ASCII value
char_conversion/2Provide mapping of input characters
char_type/2Classify characters
character_count/2Get character index on a stream
chdir/1Compatibility: change working directory
checklist/2Invoke goal on all members of a list
clause/2Get clauses of a predicate
clause/3Get clauses of a predicate
clause_property/2Get properties of a clause
close/1Close stream
close/2Close stream (forced)
close_dde_conversation/1Win32: Close DDE channel
close_shared_object/1UNIX: Close shared library (.so file)
compare/3Compare, using a predicate to determine the order
compiling/0Is this a compilation run?
compound/1Test for compound term
atom_concat/3Append two atoms
code_type/2Classify a character-code
concat_atom/2Append a list of atoms
concat_atom/3Append a list of atoms with separator
consult/1Read (compile) a Prolog source file
context_module/1Get context module of current goal
convert_time/8Break time stamp into fields
convert_time/2Convert time stamp to string
copy_stream_data/2Copy all data from stream to stream
copy_stream_data/3Copy n bytes from stream to stream
copy_term/2Make a copy of a term
current_arithmetic_function/1Examine evaluable functions
current_atom/1Examine existing atoms
current_char_conversion/2Query input character mapping
current_flag/1Examine existing flags
current_foreign_library/2library(shlib) Examine loaded shared libraries (.so files)
current_format_predicate/2Enumerate user-defined format codes
current_functor/2Examine existing name/arity pairs
current_input/1Get current input stream
current_key/1Examine existing database keys
current_module/1Examine existing modules
current_module/2Examine existing modules
current_mutex/3Examine existing mutexes
current_op/3Examine current operator declarations
current_output/1Get the current output stream
current_predicate/1Examine existing predicates (ISO)
current_predicate/2Examine existing predicates
current_signal/3Current software signal mapping
current_stream/3Examine open streams
current_thread/2Examine Prolog threads
dde_current_connection/2Win32: Examine open DDE connections
dde_current_service/2Win32: Examine DDE services provided
dde_execute/2Win32: Execute command on DDE server
dde_register_service/2Win32: Become a DDE server
dde_request/3Win32: Make a DDE request
dde_poke/3Win32: POKE operation on DDE server
dde_unregister_service/1Win32: Terminate a DDE service
debug/0Test for debugging mode
debug_control_hook/1(hook) Extend spy/1, etc.
debugging/0Show debugger status
default_module/2Get the default modules of a module
delete/3Delete all matching members from a list
delete_directory/1Remove a folder from the file system
delete_file/1Remove a file from the file system
deterministic/0Test deterministicy of current goal
discontiguous/1Indicate distributed definition of a predicate
downcase_atom/2Convert atom to lower-case
dwim_match/2Atoms match in ``Do What I Mean'' sense
dwim_match/3Atoms match in ``Do What I Mean'' sense
dwim_predicate/2Find predicate in ``Do What I Mean'' sense
dynamic/1Indicate predicate definition may change
edit/1Edit a file
ensure_loaded/1Consult a file if that has not yet been done
erase/1Erase a database record or clause
eval_license/0Evaluate licenses of loaded modules
exception/3(hook) Handle runtime exceptions
exists_directory/1Check existence of directory
exists_file/1Check existence of file
exit/2Exit from named block. See block/3
expand_answer/2Expand answer of query
expand_file_name/2Wildcard expansion of file names
expand_file_search_path/2Wildcard expansion of file paths
expand_goal/2Compiler: expand goal in clause-body
expand_query/4Expanded entered query
expand_term/2Compiler: expand read term into clause(s)
explain/1library(explain) Explain argument
explain/2library(explain) 2nd argument is explanation of first
export/1Export a predicate from a module
export_list/2List of public predicates of a module
fail/0Always false
fail/1Immediately fail named block. See block/3
current_prolog_flag/2Get system configuration parameters
file_base_name/2Get file part of path
file_directory_name/2Get directory part of path
file_name_extension/3Add, remove or test file extensions
file_search_path/2Define path-aliases for locating files
fileerrors/2Do/Don't warn on file errors
findall/3Find all solutions to a goal
flag/3Simple global variable system
flatten/2Transform nested list into flat list
float/1Type check for a floating point number
flush_output/0Output pending characters on current stream
flush_output/1Output pending characters on specified stream
forall/2Prove goal for all solutions of another goal
format/1Formatted output
format/2Formatted output with arguments
format/3Formatted output on a stream
format_predicate/2Program format/[1,2]
free_variables/2Find unbound variables in a term
functor/3Get name and arity of a term or construct a term
garbage_collect/0Invoke the garbage collector
garbage_collect_atoms/0Invoke the atom garbage collector
gensym/2Generate unique atoms from a base
get/1Read first non-blank character
get/2Read first non-blank character from a stream
get0/1Read next character
get0/2Read next character from a stream
get_byte/1Read next byte (ISO)
get_byte/2Read next byte from a stream (ISO)
get_char/1Read next character as an atom (ISO)
get_char/2Read next character from a stream (ISO)
get_code/1Read next character (ISO)
get_code/2Read next character from a stream (ISO)
get_single_char/1Read next character from the terminal
get_time/1Get current time
getenv/2Get shell environment variable
goal_expansion/2Hook for macro-expanding goals
ground/1Verify term holds no unbound variables
guitracer/0Install hooks for the graphical debugger
halt/0Exit from Prolog
halt/1Exit from Prolog with status
hash_term/2Hash-value of ground term
help/0Give help on help
help/1Give help on predicates and show parts of manual
help_hook/1(hook) User-hook in the help-system
ignore/1Call the argument, but always succeed
import/1Import a predicate from a module
include/1Include a file with declarations
index/1Change clause indexing
initialization/1Initialization directive
int_to_atom/2Convert from integer to atom
int_to_atom/3Convert from integer to atom (non-decimal)
integer/1Type check for integer
interactor/0Start new thread with console and toplevel
intersection/3Set intersection
is/2Evaluate arithmetic expression
is_absolute_file_name/1True if arg defines an absolute path
is_list/1Type check for a list
is_set/1Type check for a set
keysort/2Sort, using a key
last/2Last element of a list
leash/1Change ports visited by the tracer
length/2Length of a list
library_directory/1(hook) Directories holding Prolog libraries
license/1Define license for current file
license/2Define license for named module
limit_stack/2Limit stack expansion
line_count/2Line number on stream
line_position/2Character position in line on stream
list_to_set/2Remove duplicates
listing/0List program in current module
listing/1List predicate
load_files/2Load source files with options
load_foreign_library/1library(shlib) Load shared library (.so file)
load_foreign_library/2library(shlib) Load shared library (.so file)
make/0Reconsult all changed source files
make_directory/1Create a folder on the file system
make_fat_filemap/1Win32: Create file containing non-FAT filenames
make_library_index/1Create autoload file INDEX.pl
make_library_index/2Create selective autoload file INDEX.pl
maplist/3Transform all elements of a list
member/2Element is member of a list
memberchk/2Deterministic member/2
merge/3Merge two sorted lists
merge_set/3Merge two sorted sets
message_hook/3Intercept print_message/2
message_to_string/2Translate message-term to string
meta_predicate/1Quintus compatibility
module/1Query/set current type-in module
module/2Declare a module
module_transparent/1Indicate module based meta predicate
msort/2Sort, do not remove duplicates
multifile/1Indicate distributed definition of predicate
mutex_create/1Create a thread-synchronisation device
mutex_destroy/1Destroy a mutex
mutex_lock/1Become owner of a mutex
mutex_trylock/1Become owner of a mutex (non-blocking)
mutex_unlock/1Release ownership of mutex
mutex_unlock_all/0Release ownership of all mutexes
name/2Convert between atom and list of ASCII characters
nl/0Generate a newline
nl/1Generate a newline on a stream
nodebug/0Disable debugging
noguitracer/0Disable the graphical debugger
nonvar/1Type check for bound term
noprotocol/0Disable logging of user interaction
nospy/1Remove spy point
nospyall/0Remove all spy points
not/1Negation by failure (argument not provable). Same as \+/1
notrace/0Stop tracing
notrace/1Do not debug argument goal
nth0/3N-th element of a list (0-based)
nth1/3N-th element of a list (1-based)
nth_clause/3N-th clause of a predicate
number/1Type check for integer or float
number_chars/2Convert between number and one-char atoms
number_codes/2Convert between number and ASCII values
numbervars/4Enumerate unbound variables of a term using a given base
on_signal/3Handle a software signal
once/1Call a goal deterministically
op/3Declare an operator
open/3Open a file (creating a stream)
open/4Open a file (creating a stream)
open_dde_conversation/3Win32: Open DDE channel
open_null_stream/1Open a stream to discard output
open_resource/3Open a program resource as a stream
open_shared_object/2UNIX: Open shared library (.so file)
open_shared_object/3UNIX: Open shared library (.so file)
peek_byte/1Read byte without removing
peek_byte/2Read byte without removing
peek_char/1Read character without removing
peek_char/2Read character without removing
peek_code/1Read character-code without removing
peek_code/2Read character-code without removing
phrase/2Activate grammar-rule set
phrase/3Activate grammar-rule set (returning rest)
please/3Query/change environment parameters
plus/3Logical integer addition
portray/1(hook) Modify behaviour of print/1
portray_clause/1Pretty print a clause
predicate_property/2Query predicate attributes
predsort/3Sort, using a predicate to determine the order
preprocessor/2Install a preprocessor before the compiler
print/1Print a term
print/2Print a term on a stream
print_message/2Print message from (exception) term
print_message_lines/3Print message to stream
profile/3Obtain execution statistics
profile_count/3Obtain profile results on a predicate
profiler/2Obtain/change status of the profiler
prolog/0Run interactive toplevel
prolog_choice_attribute/3Examine the choice-point stack
prolog_current_frame/1Reference to goal's environment stack
prolog_edit:locate/2Locate targets for edit/1
prolog_edit:locate/3Locate targets for edit/1
prolog_edit:edit_source/1Call editor for edit/1
prolog_edit:edit_command/2Specify editor activation
prolog_edit:load/0Load edit/1 extensions
prolog_file_type/2Define meaning of file extension
prolog_frame_attribute/3Obtain information on a goal environment
prolog_ide/1Program access to the development enviroment
prolog_list_goal/1(hook) Intercept tracer 'L' command
prolog_load_context/2Context information for directives
prolog_load_file/2(hook) Program load_files/2
prolog_skip_level/2Indicate deepest recursion to trace
prolog_to_os_filename/2Convert between Prolog and OS filenames
prolog_trace_interception/4library(user) Intercept the Prolog tracer
prompt1/1Change prompt for 1 line
prompt/2Change the prompt used by read/1
protocol/1Make a log of the user interaction
protocola/1Append log of the user interaction to file
protocolling/1On what file is user interaction logged
put/1Write a character
put/2Write a character on a stream
put_byte/1Write a byte
put_byte/2Write a byte on a stream
put_char/1Write a character
put_char/2Write a character on a stream
put_code/1Write a character-code
put_code/2Write a character-code on a stream
qcompile/1Compile source to Quick Load File
qsave_program/1Create runtime application
qsave_program/2Create runtime application
read/1Read Prolog term
read/2Read Prolog term from stream
read_clause/1Read clause
read_clause/2Read clause from stream
read_history/6Read using history substitution
read_link/3Read a symbolic link
read_term/2Read term with options
read_term/3Read term with options from stream
recorda/2Record term in the database (first)
recorda/3Record term in the database (first)
recorded/2Obtain term from the database
recorded/3Obtain term from the database
recordz/2Record term in the database (last)
recordz/3Record term in the database (last)
redefine_system_predicate/1Abolish system definition
rename_file/2Change name of file
repeat/0Succeed, leaving infinite backtrack points
require/1This file requires these predicates
reset_profiler/0Clear statistics obtained by the profiler
resource/3Declare a program resource
retract/1Remove clause from the database
retractall/1Remove unifying clauses from the database
reverse/2Inverse the order of the elements in a list
same_file/2Succeeds if arguments refer to same file
see/1Change the current input stream
seeing/1Query the current input stream
seek/4Modify the current position in a stream
seen/0Close the current input stream
select/3Select element of a list
set_input/1Set current input stream from a stream
set_output/1Set current output stream from a stream
set_prolog_flag/2Define a system feature
set_stream/2Set stream attribute
set_stream_position/2Seek stream to position
set_tty/2Set `tty' stream
setarg/3Destructive assignment on term
setenv/2Set shell environment variable
setof/3Find all unique solutions to a goal
sformat/2Format on a string
sformat/3Format on a string
shell/0Execute interactive subshell
shell/1Execute OS command
shell/2Execute OS command
show_profile/1Show results of the profiler
size_file/2Get size of a file in characters
skip/1Skip to character in current input
skip/2Skip to character on stream
rl_add_history/1Add line to readline(3) history
rl_read_init_file/1Read readline(3) init file
sleep/1Suspend execution for specified time
sort/2Sort elements in a list
source_file/1Examine currently loaded source files
source_file/2Obtain source file of predicate
source_location/2Location of last read term
spy/1Force tracer on specified predicate
stack_parameter/4Some systems: Query/Set runtime stack parameter
statistics/0Show execution statistics
statistics/2Obtain collected statistics
stream_property/2Get stream properties
string/1Type check for string
string_concat/3atom_concat/3 for strings
string_length/2Determine length of a string
string_to_atom/2Conversion between string and atom
string_to_list/2Conversion between string and list of ASCII
style_check/1Change level of warnings
sub_atom/5Take a substring from an atom
sublist/3Determine elements that meet condition
subset/2Check subset relation for unordered sets
sub_string/5Take a substring from a string
subtract/3Delete elements that do not meet condition
succ/2Logical integer successor relation
swritef/2Formatted write on a string
swritef/3Formatted write on a string
tab/1Output number of spaces
tab/2Output number of spaces on a stream
tell/1Change current output stream
telling/1Query current output stream
term_expansion/2(hook) Convert term before compilation
term_to_atom/2Convert between term and atom
thread_at_exit/1Register goal to be called at exit
thread_create/3Create a new Prolog task
thread_exit/1Terminate Prolog task with value
thread_get_message/1Wait for message
thread_join/2Wait for Prolog task-completion
thread_peek_message/1Test for message in queue
thread_self/1Get identifier of current thread
thread_send_message/2Send message to another thread
thread_signal/2Execute goal in another thread
threads/0List running threads
throw/1Raise an exception (see catch/3)
time/1Determine time needed to execute goal
time_file/2Get last modification time of file
tmp_file/2Create a temporary filename
told/0Close current output
trace/0Start the tracer
trace/1Set trace-point on predicate
trace/2Set/Clear trace-point on ports
tracing/0Query status of the tracer
trim_stacks/0Release unused memory resources
true/0Succeed
tty_get_capability/3Get terminal parameter
tty_goto/2Goto position on screen
tty_put/2Write control string to terminal
tty_size/2Get row/column size of the terminal
ttyflush/0Flush output on terminal
union/3Union of two sets
unify_with_occurs_check/2Logically sound unification
unix/1OS interaction
unknown/2Trap undefined predicates
unload_foreign_library/1library(shlib) Detach shared library (.so file)
unsetenv/1Delete shell environment variable
upcase_atom/2Convert atom to upper-case
use_module/1Import a module
use_module/2Import predicates from a module
var/1Type check for unbound variable
visible/1Ports that are visible in the tracer
volatile/1Predicates that are not saved
wait_for_input/3Wait for input with optional timeout
wildcard_match/2Csh(1) style wildcard match
win_exec/2Win32: spawn Windows task
win_insert_menu/2plwin.exe: add menu
win_insert_menu_item/4plwin.exe: add item to menu
win_shell/2Win32: open document through Shell
win_registry_get_value/3Win32: get registry value
with_mutex/2Run goal while holding mutex
working_directory/2Query/change CWD
write/1Write term
write/2Write term to stream
writeln/1Write term, followed by a newline
write_canonical/1Write a term with quotes, ignore operators
write_canonical/2Write a term with quotes, ignore operators on a stream
write_term/2Write term with options
write_term/3Write term with options to stream
writef/1Formatted write
writef/2Formatted write on stream
writeq/1Write term, insert quotes
writeq/2Write term, insert quotes on stream