8 Prolog built-in predicates
Type testing
var/1 ,
nonvar/1 ,
atom/1 ,
integer/1 ,
float/1 ,
number/1 ,
atomic/1 ,
compound/1 ,
callable/1 ,
ground/1 ,
is_list/1 ,
list/1 ,
partial_list/1 ,
list_or_partial_list/1
Term unification
Term comparison
Term processing
Variable naming/numbering
Arithmetic
Dynamic clause management
Predicate information
All solutions
Streams
Constant term streams
Character input/output
get_char/2 ,
get_char/1 ,
get_code/1 ,
get_code/2
get_key/2 ,
get_key/1
get_key_no_echo/2 ,
get_key_no_echo/1
peek_char/2 ,
peek_char/1 ,
peek_code/1 ,
peek_code/2
unget_char/2 ,
unget_char/1 ,
unget_code/2 ,
unget_code/1
put_char/2 ,
put_char/1 ,
put_code/1 ,
put_code/2 ,
nl/1 ,
nl/0
Byte input/output
Term input/output
read_term/3 ,
read_term/2 ,
read/2 ,
read/1
read_atom/2 ,
read_atom/1 ,
read_integer/2 ,
read_integer/1 ,
read_number/2 ,
read_number/1
read_token/2 ,
read_token/1
syntax_error_info/4
last_read_start_line_column/2
write_term/3 ,
write_term/2 ,
write/2 ,
write/1 ,
writeq/2 ,
writeq/1 ,
write_canonical/2 ,
write_canonical/1 ,
display/2 ,
display/1 ,
print/2 ,
print/1
format/3 ,
format/2
portray_clause/2 ,
portray_clause/1
get_print_stream/1
op/3
current_op/3
char_conversion/2
current_char_conversion/2
Input/output from/to constant terms
read_term_from_atom/3 ,
read_from_atom/2 ,
read_token_from_atom/2
read_term_from_chars/3 ,
read_from_chars/2 ,
read_token_from_chars/2
read_term_from_codes/3 ,
read_from_codes/2 ,
read_token_from_codes/2
write_term_to_atom/3 ,
write_to_atom/2 ,
writeq_to_atom/2 ,
write_canonical_to_atom/2 ,
display_to_atom/2 ,
print_to_atom/2 ,
format_to_atom/3
write_term_to_chars/3 ,
write_to_chars/2 ,
writeq_to_chars/2 ,
write_canonical_to_chars/2 ,
display_to_chars/2 ,
print_to_chars/2 ,
format_to_chars/3
write_term_to_codes/3 ,
write_to_codes/2 ,
writeq_to_codes/2 ,
write_canonical_to_codes/2 ,
display_to_codes/2 ,
print_to_codes/2 ,
format_to_codes/3
DEC-10 compatibility input/output
Term expansion
Logic, control and exceptions
abort/0 ,
stop/0 ,
top_level/0 ,
break/0 ,
halt/1 ,
halt/0
false/0 , once/1 , ( \ +)/1 - not provable,
call/2-11 ,
call_with_args/1-11 , call_det/2 , forall/2
repeat/0
between/3 , for/3
Atomic term processing
List processing
Global variables
Introduction
g_assign/2 ,
g_assignb/2 ,
g_link/2
g_read/2
g_array_size/2
g_inc/3 ,
g_inc/2 ,
g_inco/2 ,
g_inc/1 ,
g_dec/3 ,
g_dec/2 ,
g_deco/2 ,
g_dec/1
g_set_bit/2 ,
g_reset_bit/2 ,
g_test_set_bit/2 ,
g_test_reset_bit/2
Examples
Prolog state
Program state
System statistics
Random number generator
File name processing
Operating system interface
Sockets input/output
Linedit management
Copyright (C) 1999-2023 Daniel Diaz
Verbatim copying and distribution of this entire article is permitted in any
medium, provided this notice is preserved. More about the copyright