Predicate reference =================== 548 predicates — 183 ISO, 62 evaluable. Generated by `util/gen_reference.py` from `help/0` in the built binary, so it cannot drift from the build. Regenerate on release rather than editing by hand. Jump to: [Core & terms](#core--terms) · [Control](#control) · [Arithmetic](#arithmetic) · [Streams & I/O](#streams--io) · [Formatting](#formatting) · [Database](#database) · [Maps](#maps) · [Attributed variables](#attributed-variables) · [Threads](#threads) · [Coroutining](#coroutining) · [Operating system](#operating-system) · [POSIX time](#posix-time) · [Regular expressions](#regular-expressions) · [CSV](#csv) · [Foreign function interface](#foreign-function-interface) · [library(builtins)](#librarybuiltins) · [library(iso_ext)](#libraryisoext) · [library(lists)](#librarylists) · [Other](#other) ### Core & terms
97 predicates | Predicate | Template | | |---|---|---| | `=/2` | `=(+term,+term)` | ISO | | `=../2` | `=..(+term,?list)` | ISO | | `acyclic_term/1` | `acyclic_term(+term)` | ISO | | `arg/3` | `arg(+integer,+term,?term)` | ISO | | `atom/1` | `atom(+term)` | ISO | | `atom_chars/2` | `atom_chars(?atom,?list)` | ISO | | `atom_codes/2` | `atom_codes(?atom,?list)` | ISO | | `atom_concat/3` | `atom_concat(+atom,+atom,?atom)` | ISO | | `atom_length/2` | `atom_length(?list,?integer)` | ISO | | `atom_lower/2` | `atom_lower(?atom,?atom)` | | | `atom_upper/2` | `atom_upper(?atom,?atom)` | | | `atomic/1` | `atomic(+term)` | ISO | | `atomic_concat/3` | `atomic_concat(+atomic,+atomic,?atomic)` | | | `atomic_list_concat/2` | `atomic_list_concat(+list,?atom)` | | | `atomic_list_concat/3` | `atomic_list_concat(?list,+atomic,?atom)` | | | `base64/3` | `base64(?string,?string,+list)` | | | `between/3` | `between(+integer,+integer,?integer)` | | | `call_nth/2` | `call_nth(:callable,+integer)` | | | `callable/1` | `callable(+term)` | ISO | | `can_be/2` | `can_be(+atom,+term,)` | | | `can_be/4` | `can_be(+term,+atom,+term,?any)` | | | `char_code/2` | `char_code(?atom,?integer)` | ISO | | `compare/3` | `compare(+atom,+term,+term)` | ISO | | `compound/1` | `compound(+term)` | ISO | | `copy_term/2` | `copy_term(+term,?term)` | ISO | | `copy_term_nat/2` | `copy_term_nat(+term,?term)` | | | `copy_term_with_attributes/2` | `copy_term_with_attributes(+term,?term)` | | | `crypto_n_random_bytes/2` | `crypto_n_random_bytes(+integer,-codes)` | | | `current_module/1` | `current_module(-atom)` | | | `current_predicate/1` | `current_predicate(+predicate_indicator)` | ISO | | `current_rule/1` | `current_rule(-term)` | ISO | | `cyclic_term/1` | `cyclic_term(+term)` | | | `duplicate_term/2` | `duplicate_term(+term,?term)` | | | `end_of_file/0` | `end_of_file` | ISO | | `findall/3` | `findall(+term,:callable,-list)` | ISO | | `functor/3` | `functor(?term,?atom,?integer)` | ISO | | `ground/1` | `ground(+term)` | ISO | | `halt/0` | `halt` | ISO | | `halt/1` | `halt(+integer)` | ISO | | `help/0` | `help` | | | `help/1` | `help(+predicate_indicator)` | | | `help/2` | `help(+predicate_indicator,+atom)` | | | `hex_bytes/2` | `hex_bytes(?string,?list)` | | | `hex_chars/2` | `hex_chars(?integer,?string)` | | | `is_bigint/1` | `is_bigint(+term)` | | | `is_list/1` | `is_list(+term)` | | | `is_list_or_partial_list/1` | `is_list_or_partial_list(+term)` | | | `is_partial_list/1` | `is_partial_list(+term)` | | | `limit/2` | `limit(+integer,:callable)` | | | `list/1` | `list(+term)` | | | `load_text/2` | `load_text(+string,+list)` | | | `meta_predicate/1` | `meta_predicate(+term)` | | | `module_help/1` | `module_help(+atom)` | | | `module_help/2` | `module_help(+atom,+predicate_indicator)` | | | `module_help/3` | `module_help(+atom,+predicate_indicator,+atom)` | | | `module_info/2` | `module_info(+atom,-list)` | | | `multifile/1` | `multifile(+term)` | | | `must_be/2` | `must_be(+atom,+term)` | | | `must_be/4` | `must_be(+term,+atom,+term,?any)` | | | `nb_setarg/3` | `nb_setarg(+integer,+term,+integer)` | | | `nonvar/1` | `nonvar(+term)` | ISO | | `number/1` | `number(+term)` | ISO | | `number_chars/2` | `number_chars(?number,?list)` | ISO | | `number_codes/2` | `number_codes(?number,?list)` | ISO | | `numlist/3` | `numlist(+integer,+integer,-list)` | | | `octal_chars/2` | `octal_chars(?integer,?string)` | | | `offset/2` | `offset(+integer,+callable)` | | | `op/3` | `op(?integer,?atom,+atom)` | ISO | | `prolog_load_context/2` | `prolog_load_context(+atom,?term)` | | | `repeat/0` | `repeat` | ISO | | `replace/4` | `replace(+string,+integer,+integer,-string)` | | | `set_prolog_flag/2` | `set_prolog_flag(+atom,+term)` | ISO | | `source_info/2` | `source_info(+predicate_indicator,-list)` | | | `split/4` | `split(+string,+string,?string,?string)` | | | `split_string/4` | `split_string(+string,+atom,+atom,-list)` | | | `statistics/0` | `statistics` | | | `statistics/2` | `statistics(+atom,-term)` | | | `string/1` | `string(+term)` | | | `string_codes/2` | `string_codes(+string,-list)` | | | `string_concat/3` | `string_concat(+string,+string,?string)` | | | `string_length/2` | `string_length(+string,?integer)` | | | `string_lower/2` | `string_lower(?string,?string)` | | | `string_upper/2` | `string_upper(?string,?string)` | | | `strip_module/3` | `strip_module(+callable,?atom,?callable)` | | | `sub_atom/5` | `sub_atom(+atom,?before,?length,?after,?atom)` | ISO | | `sub_string/5` | `sub_string(+character_list,?before,?length,?after,?character_list)` | ISO | | `term_hash/2` | `term_hash(+term,?integer)` | | | `term_singletons/2` | `term_singletons(+term,-list)` | | | `term_variables/2` | `term_variables(+term,-list)` | ISO | | `trace/0` | `trace` | | | `unifiable/3` | `unifiable(+term,+term,-list)` | | | `unify_with_occurs_check/2` | `unify_with_occurs_check(+term,+term)` | ISO | | `urlenc/3` | `urlenc(?string,?string,+list)` | | | `use_module/1` | `use_module(+term)` | | | `use_module/2` | `use_module(+term,+list)` | | | `using/0` | `using` | | | `uuid/1` | `uuid(-string)` | | | `var/1` | `var(+term)` | ISO |
### Control
24 predicates | Predicate | Template | | |---|---|---| | `!/0` | `!` | ISO | | `*->/2` | `*->(:callable,:callable)` | | | `,/2` | `,(:callable,:callable)` | ISO | | `->/2` | `->(:callable,:callable)` | ISO | | `;/2` | `;(:callable,:callable)` | ISO | | `abort/0` | `abort` | | | `call/1` | `call(:callable)` | ISO | | `call/2` | `call(:callable,?term)` | ISO | | `call/3` | `call(:callable,?term,term)` | ISO | | `call/4` | `call(:callable,?term,?term,?term)` | ISO | | `call/5` | `call(:callable,?term,?term,?term,?term)` | ISO | | `call/6` | `call(:callable,?term,?term,?term,?term,?term)` | ISO | | `call/7` | `call(:callable,?term,?term,?term,?term,?term,?term)` | ISO | | `call/8` | `call(:callable,?term,?term,?term,?term,?term,?term,?term)` | ISO | | `catch/3` | `catch(:callable,?term,:callable)` | ISO | | `fail/0` | `fail` | ISO | | `false/0` | `false` | ISO | | `if/3` | `if(:callable,:callable,:callable)` | | | `ignore/1` | `ignore(:callable)` | | | `once/1` | `once(:callable)` | ISO | | `reset/3` | `reset(:callable,?term,-term)` | | | `shift/1` | `shift(+term)` | | | `throw/1` | `throw(+term)` | ISO | | `true/0` | `true` | ISO |
### Arithmetic
80 predicates | Predicate | Template | | |---|---|---| | `///2` | `//(+integer,+integer,-integer)` | ISO evaluable | | `//2` | `/(+number,+number,-float)` | ISO evaluable | | `*/2` | `*(+number,+number,-number)` | ISO evaluable | | `**/2` | `**(+number,+number,-float)` | ISO evaluable | | `+/1` | `+(+number,-number)` | ISO evaluable | | `+/2` | `+(+number,+number,-number)` | ISO evaluable | | `-/1` | `-(+number,-number)` | ISO evaluable | | `-/2` | `-(+number,+number,-number)` | ISO evaluable | | `/2` | `>(+number,+number)` | ISO | | `>=/2` | `>=(+number,+number)` | ISO | | `>>/2` | `>>(+integer,-integer)` | ISO evaluable | | `@/2` | `@>(+term,+term)` | ISO | | `@>=/2` | `@>=(+term,+term)` | ISO | | `^/2` | `^(+number,+number,-integer)` | ISO evaluable | | `abs/1` | `abs(+number,-number)` | ISO evaluable | | `acos/1` | `acos(+number,-float)` | ISO evaluable | | `acosh/1` | `acosh(+number,-float)` | evaluable | | `asin/1` | `asin(+number,-float)` | ISO evaluable | | `asinh/1` | `asinh(+number,-float)` | evaluable | | `atan/1` | `atan(+number,-float)` | ISO evaluable | | `atan2/2` | `atan2(+number,+number,-float)` | ISO evaluable | | `atanh/1` | `atanh(+number,-float)` | evaluable | | `ceiling/1` | `ceiling(+float,-integer)` | ISO evaluable | | `copysign/2` | `copysign(+number,-number)` | evaluable | | `cos/1` | `cos(+number,-float)` | ISO evaluable | | `cosh/1` | `cosh(+number,-float)` | evaluable | | `denominator/1` | `denominator(+rational,-integer)` | evaluable | | `div/2` | `div(+integer,+integer,-integer)` | ISO evaluable | | `divmod/4` | `divmod(+integer,+integer,?integer,?integer)` | | | `e/0` | `e` | ISO evaluable | | `epsilon/0` | `epsilon` | ISO evaluable | | `erf/1` | `erf(+number,-float)` | evaluable | | `erfc/1` | `erfc(+number,-float)` | evaluable | | `exp/1` | `exp(+number,-float)` | ISO evaluable | | `float/1` | `float(+number)` | ISO | | `float_fractional_part/1` | `float_fractional_part(+float,-float)` | ISO evaluable | | `float_integer_part/1` | `float_integer_part(+float,-integer)` | ISO evaluable | | `floor/1` | `floor(+float,-integer)` | ISO evaluable | | `gcd/2` | `gcd(+integer,+integer,-integer)` | evaluable | | `get_seed/1` | `get_seed(-integer)` | | | `integer/1` | `integer(+number)` | ISO | | `is/2` | `is(?number,+number)` | ISO | | `log/1` | `log(+number,-float)` | ISO evaluable | | `log/2` | `log(+number,+number,-float)` | evaluable | | `log10/1` | `log10(+number,-float)` | evaluable | | `lsb/1` | `lsb(+integer,-integer)` | evaluable | | `max/2` | `max(+number,+number,-number)` | ISO evaluable | | `min/2` | `min(+number,+number,-number)` | ISO evaluable | | `mod/2` | `mod(+integer,+integer,-integer)` | ISO evaluable | | `msb/1` | `msb(+integer,-integer)` | evaluable | | `numerator/1` | `numerator(+rational,-integer)` | evaluable | | `pi/0` | `pi` | ISO evaluable | | `popcount/1` | `popcount(+integer,-integer)` | evaluable | | `rand/0` | `rand` | evaluable | | `rand/1` | `rand(?integer)` | | | `random/1` | `random(?integer)` | | | `random_between/3` | `random_between(?integer,?integer,-integer)` | | | `random_float/0` | `random_float` | evaluable | | `random_integer/0` | `random_integer` | evaluable | | `rational/1` | `rational(+term)` | | | `rdiv/2` | `rdiv(+integer,+integer,-rational)` | evaluable | | `rem/2` | `rem(+integer,+integer,-integer)` | ISO evaluable | | `round/1` | `round(+float,-integer)` | ISO evaluable | | `set_seed/1` | `set_seed(+integer)` | | | `setrand/1` | `setrand(+integer)` | | | `sign/1` | `sign(+number,-number)` | ISO evaluable | | `sin/1` | `sin(+number,-float)` | ISO evaluable | | `sinh/1` | `sinh(+number,-float)` | evaluable | | `sqrt/1` | `sqrt(+number,-float)` | ISO evaluable | | `srandom/1` | `srandom(+integer)` | | | `tan/1` | `tan(+number,-float)` | ISO evaluable | | `tanh/1` | `tanh(+number,-float)` | evaluable | | `truncate/1` | `truncate(+float,-integer)` | ISO evaluable | | `xor/2` | `xor(+integer,+integer,-integer)` | ISO evaluable |
### Streams & I/O
103 predicates | Predicate | Template | | |---|---|---| | `absolute_file_name/3` | `absolute_file_name(+source_sink,-atom,+list)` | | | `access_file/2` | `access_file(+source_sink,+atom)` | | | `alias/2` | `alias(+blob,+atom)` | | | `at_end_of_stream/0` | `at_end_of_stream` | ISO | | `at_end_of_stream/1` | `at_end_of_stream(+stream)` | ISO | | `chdir/1` | `chdir(+source_sink)` | | | `close/1` | `close(+stream)` | ISO | | `close/2` | `close(+stream,+opts)` | ISO | | `copy_file/2` | `copy_file(+source_sink,+source_sink)` | | | `current_error/1` | `current_error(--stream)` | ISO | | `current_input/1` | `current_input(--stream)` | ISO | | `current_output/1` | `current_output(--stream)` | ISO | | `delete_file/1` | `delete_file(+source_sink)` | | | `directory_files/2` | `directory_files(+source_sink,-list)` | | | `exists_directory/1` | `exists_directory(+source_sink)` | | | `exists_file/1` | `exists_file(+source_sink)` | | | `flush_output/0` | `flush_output` | ISO | | `flush_output/1` | `flush_output(+stream)` | ISO | | `get_byte/1` | `get_byte(-integer)` | ISO | | `get_byte/2` | `get_byte(+stream,-integer)` | ISO | | `get_char/1` | `get_char(-integer)` | ISO | | `get_char/2` | `get_char(+stream,-integer)` | ISO | | `get_code/1` | `get_code(-integer)` | ISO | | `get_code/2` | `get_code(+stream,-integer)` | ISO | | `getfile/2` | `getfile(+source_sink,-list)` | | | `getfile/3` | `getfile(+source_sink,-list,+list)` | | | `getline/1` | `getline(-atom)` | | | `getline/2` | `getline(+stream,-string)` | | | `getline/3` | `getline(+stream,-string,+list)` | | | `getlines/1` | `getlines(-list)` | | | `getlines/2` | `getlines(+stream,-list)` | | | `getlines/3` | `getlines(+stream,-list,+list)` | | | `is_absolute_file_name/1` | `is_absolute_file_name(+source_sink)` | | | `is_stream/1` | `is_stream(+term)` | | | `load_files/2` | `load_files(+atom,+list)` | | | `loadfile/2` | `loadfile(+source_sink,-atom)` | | | `make/0` | `make` | | | `make_directory/1` | `make_directory(+source_sink)` | | | `make_directory_path/1` | `make_directory_path(+source_sink)` | | | `nl/0` | `nl` | ISO | | `nl/1` | `nl(+stream)` | ISO | | `open/4` | `open(+source_sink,+mode,--stream,+list)` | ISO | | `peek_byte/1` | `peek_byte(-integer)` | ISO | | `peek_byte/2` | `peek_byte(+stream,-integer)` | ISO | | `peek_char/1` | `peek_char(-integer)` | ISO | | `peek_char/2` | `peek_char(+stream,-integer)` | ISO | | `peek_code/1` | `peek_code(-integer)` | ISO | | `peek_code/2` | `peek_code(+stream,-integer)` | ISO | | `portray_clause/1` | `portray_clause(+term)` | | | `portray_clause/2` | `portray_clause(+stream,+term)` | | | `put_byte/1` | `put_byte(+integer)` | ISO | | `put_byte/2` | `put_byte(+stream,+integer)` | ISO | | `put_char/1` | `put_char(+integer)` | ISO | | `put_char/2` | `put_char(+stream,+integer)` | ISO | | `put_code/1` | `put_code(+integer)` | ISO | | `put_code/2` | `put_code(+stream,+integer)` | ISO | | `read/1` | `read(-term)` | ISO | | `read/2` | `read(+stream,-term)` | ISO | | `read_file_to_string/3` | `read_file_to_string(+source_sink,-string,+options)` | | | `read_line_to_codes/2` | `read_line_to_codes(+stream,-list)` | | | `read_line_to_string/2` | `read_line_to_string(+stream,-string)` | | | `read_term/2` | `read_term(+stream,-term)` | ISO | | `read_term/3` | `read_term(+stream,-term,+list)` | ISO | | `read_term_from_atom/3` | `read_term_from_atom(+atom,?term,+list)` | | | `read_term_from_chars/3` | `read_term_from_chars(+string,?term,+list)` | | | `redo/1` | `redo(+integer)` | | | `redo/2` | `redo(+stream,+integer)` | | | `rename_file/2` | `rename_file(+source_sink,+source_sink)` | | | `savefile/2` | `savefile(+source_sink,+source_sink)` | | | `seeing/1` | `seeing(-atom)` | | | `seen/0` | `seen` | | | `set_error/1` | `set_error(+stream)` | ISO | | `set_input/1` | `set_input(+stream)` | ISO | | `set_output/1` | `set_output(+stream)` | ISO | | `set_stream/2` | `set_stream(+stream,+term)` | ISO | | `set_stream_position/2` | `set_stream_position(+stream,+integer)` | ISO | | `size_file/2` | `size_file(+source_sink,-integer)` | | | `stream_property/2` | `stream_property(+stream,-compound)` | ISO | | `tab/1` | `tab(+integer)` | | | `tab/2` | `tab(+stream,+integer)` | | | `telling/1` | `telling(-atom)` | | | `time_file/2` | `time_file(+source_sink,-float)` | | | `told/0` | `told` | | | `unget_byte/1` | `unget_byte(+integer)` | ISO | | `unget_byte/2` | `unget_byte(+stream,+integer)` | ISO | | `unget_char/1` | `unget_char(+integer)` | ISO | | `unget_char/2` | `unget_char(+stream,+integer)` | ISO | | `unget_code/1` | `unget_code(+integer)` | ISO | | `unget_code/2` | `unget_code(+stream,+integer)` | ISO | | `unload_files/1` | `unload_files(+atom)` | | | `working_directory/2` | `working_directory(-atom,+source_sink)` | | | `write/1` | `write(+term)` | ISO | | `write/2` | `write(+stream,+term)` | ISO | | `write_canonical/1` | `write_canonical(+term)` | ISO | | `write_canonical/2` | `write_canonical(+stream,+term)` | ISO | | `write_canonical_to_atom/3` | `write_canonical_to_atom(?atom,?term,+list)` | | | `write_canonical_to_chars/3` | `write_canonical_to_chars(?string,?term,+list)` | | | `write_term/2` | `write_term(+stream,+term)` | ISO | | `write_term/3` | `write_term(+stream,+term,+list)` | ISO | | `write_term_to_atom/3` | `write_term_to_atom(?atom,?term,+list)` | | | `write_term_to_chars/3` | `write_term_to_chars(?term,+list,?string)` | | | `writeq/1` | `writeq(+term)` | ISO | | `writeq/2` | `writeq(+stream,+term)` | ISO |
### Formatting
3 predicates | Predicate | Template | | |---|---|---| | `format/1` | `format(+string)` | | | `format/2` | `format(+string,+list)` | | | `format/3` | `format(+stream,+string,+list)` | |
### Database
14 predicates | Predicate | Template | | |---|---|---| | `abolish/1` | `abolish(+predicate_indicator)` | ISO | | `abolish/2` | `abolish(+term,+list)` | | | `asserta/1` | `asserta(+term)` | ISO | | `asserta/2` | `asserta(+term,-string)` | | | `assertz/1` | `assertz(+term)` | ISO | | `assertz/2` | `assertz(+term,-string)` | | | `clause/2` | `clause(+term,?term)` | ISO | | `clause/3` | `clause(?term,?term,-string)` | | | `erase/1` | `erase(+string)` | | | `instance/2` | `instance(+string,?term)` | | | `listing/0` | `listing` | | | `listing/1` | `listing(+predicate_indicator)` | | | `retract/1` | `retract(+term)` | ISO | | `retractall/1` | `retractall(+term)` | ISO |
### Maps
14 predicates | Predicate | Template | | |---|---|---| | `engine_destroy/1` | `engine_destroy(+stream)` | | | `engine_fetch/1` | `engine_fetch(-term)` | | | `engine_next/2` | `engine_next(+stream,-term)` | | | `engine_post/2` | `engine_post(+stream,+term)` | | | `engine_self/1` | `engine_self(--stream)` | | | `engine_yield/1` | `engine_yield(+term)` | | | `is_engine/1` | `is_engine(+term)` | | | `map_close/1` | `map_close(+stream)` | | | `map_count/2` | `map_count(+stream,-integer)` | | | `map_create/2` | `map_create(--stream,+list)` | | | `map_del/2` | `map_del(+stream,+atomic)` | | | `map_get/3` | `map_get(+stream,+atomic,-atomic)` | | | `map_list/2` | `map_list(+stream,-list)` | | | `map_set/3` | `map_set(+stream,+atomic,+atomic)` | |
### Attributed variables
3 predicates | Predicate | Template | | |---|---|---| | `attribute/3` | `attribute(?atom,+atom,+integer)` | | | `get_atts/2` | `get_atts(@variable,-term)` | | | `put_atts/2` | `put_atts(@variable,+term)` | |
### Threads
29 predicates | Predicate | Template | | |---|---|---| | `is_thread/1` | `is_thread(+term)` | | | `message_queue_create/2` | `message_queue_create(-queue,+list)` | | | `message_queue_destroy/1` | `message_queue_destroy(+queue)` | | | `message_queue_property/2` | `message_queue_property(?queue,?term)` | | | `mutex_create/2` | `mutex_create(-mutex,+list)` | | | `mutex_destroy/1` | `mutex_destroy(+mutex)` | | | `mutex_lock/1` | `mutex_lock(+mutex)` | | | `mutex_property/2` | `mutex_property(?mutex,?term)` | | | `mutex_trylock/1` | `mutex_trylock(+mutex)` | | | `mutex_unlock/1` | `mutex_unlock(+mutex)` | | | `mutex_unlock_all/0` | `mutex_unlock_all` | | | `pl_msg_recv/2` | `pl_msg_recv(-thread,?term)` | | | `pl_msg_send/2` | `pl_msg_send(+thread,+term)` | | | `pl_thread_pin_cpu/2` | `pl_thread_pin_cpu(+thread,+integer)` | | | `pl_thread_set_priority/2` | `pl_thread_set_priority(+thread,+integer)` | | | `thread/3` | `thread(--thread,+atom,+list)` | | | `thread_cancel/1` | `thread_cancel(+thread)` | | | `thread_create/3` | `thread_create(:callable,--thread,+list)` | | | `thread_detach/1` | `thread_detach(+thread)` | | | `thread_exit/1` | `thread_exit(+term)` | | | `thread_get_message/2` | `thread_get_message(+queue,?term)` | | | `thread_get_message/3` | `thread_get_message(+queue,?term,+list)` | | | `thread_peek_message/2` | `thread_peek_message(+queue,?term)` | | | `thread_property/2` | `thread_property(?thread,?term)` | | | `thread_self/1` | `thread_self(-integer)` | | | `thread_send_message/2` | `thread_send_message(+queue,+term)` | | | `thread_signal/2` | `thread_signal(+thread,:callable)` | | | `thread_sleep/1` | `thread_sleep(+integer)` | | | `thread_yield/0` | `thread_yield` | |
### Coroutining
15 predicates | Predicate | Template | | |---|---|---| | `await/0` | `await` | | | `call_task/1` | `call_task(:callable)` | | | `call_task/2` | `call_task(:callable,?term)` | | | `call_task/3` | `call_task(:callable,?term,?term)` | | | `call_task/4` | `call_task(:callable,?term,?term,?term)` | | | `call_task/5` | `call_task(:callable,?term,?term,?term,?term)` | | | `call_task/6` | `call_task(:callable,?term,?term,?term,?term,?term)` | | | `call_task/7` | `call_task(:callable,?term,?term,?term,?term,?term,?term)` | | | `call_task/8` | `call_task(:callable,?term,?term,?term,?term,?term,?term,?term)` | | | `end_wait/0` | `end_wait` | | | `fork/0` | `fork` | | | `recv/1` | `recv(?term)` | | | `send/1` | `send(+term)` | | | `wait/0` | `wait` | | | `yield/0` | `yield` | |
### Operating system
22 predicates | Predicate | Template | | |---|---|---| | `busy/1` | `busy(+integer)` | | | `cpu_time/1` | `cpu_time(-integer)` | | | `date_time/6` | `date_time(-integer,-integer,-integer,-integer,-integer,-integer)` | | | `date_time/7` | `date_time(-integer,-integer,-integer,-integer,-integer,-integer,-integer)` | | | `get_time/1` | `get_time(-float)` | | | `get_unbuffered_char/1` | `get_unbuffered_char(?character)` | | | `get_unbuffered_code/1` | `get_unbuffered_code(?integer)` | | | `getenv/2` | `getenv(+atom,-atom)` | | | `now/0` | `now` | | | `now/1` | `now(-integer)` | | | `pclose/1` | `pclose(+stream)` | | | `popen/4` | `popen(+source_sink,+atom,--stream,+list)` | | | `process_create/3` | `process_create(+atom,+list,+list)` | | | `process_kill/1` | `process_kill(+integer)` | | | `process_kill/2` | `process_kill(+integer,+integer)` | | | `setenv/2` | `setenv(+atom,+atom)` | | | `shell/1` | `shell(+atom)` | | | `shell/2` | `shell(+atom,-integer)` | | | `sleep/1` | `sleep(+number)` | | | `time/1` | `time(:callable)` | | | `unsetenv/1` | `unsetenv(+atom)` | | | `wall_time/1` | `wall_time(-integer)` | |
### POSIX time
11 predicates | Predicate | Template | | |---|---|---| | `pid/1` | `pid(-integer)` | | | `posix_ctime/2` | `posix_ctime(+integer,-atom)` | | | `posix_fork/1` | `posix_fork(-integer)` | | | `posix_getpid/1` | `posix_getpid(-integer)` | | | `posix_getppid/1` | `posix_getppid(-integer)` | | | `posix_gmtime/2` | `posix_gmtime(+integer,-compound)` | | | `posix_localtime/2` | `posix_localtime(+integer,-compound)` | | | `posix_mktime/2` | `posix_mktime(+compound,-integer)` | | | `posix_strftime/3` | `posix_strftime(+atom,-atom,+compound)` | | | `posix_strptime/3` | `posix_strptime(+atom,+atom,-compound)` | | | `posix_time/1` | `posix_time(-integer)` | |
### Regular expressions
5 predicates | Predicate | Template | | |---|---|---| | `sre_compile/2` | `sre_compile(+string,-string,)` | | | `sre_match/4` | `sre_match(+string,+string,-string,-string,)` | | | `sre_matchp/4` | `sre_matchp(+string,+string,-string,-string,)` | | | `sre_subst/4` | `sre_subst(+string,+string,-string,-string,)` | | | `sre_substp/4` | `sre_substp(+string,+string,-string,-string,)` | |
### CSV
4 predicates | Predicate | Template | | |---|---|---| | `parse_csv_file/2` | `parse_csv_file(+atom,+list)` | | | `parse_csv_line/2` | `parse_csv_line(+atom,-list)` | | | `parse_csv_line/3` | `parse_csv_line(+atom,-compound,+options)` | | | `write_csv_file/3` | `write_csv_file(+atom,+list,+options)` | |
### Foreign function interface
2 predicates | Predicate | Template | | |---|---|---| | `foreign_struct/2` | `foreign_struct(+atom,+list)` | | | `use_foreign_module/2` | `use_foreign_module(+atom,+list)` | |
### library(builtins)
56 predicates | Predicate | Template | | |---|---|---| | `absolute_filename/2` | `absolute_filename(+atom,?atom)` | | | `append/1` | `append(+filename)` | | | `argv/1` | `argv(-list)` | | | `atom_number/2` | `atom_number(?atom,?number)` | | | `bagof/3` | `bagof(+term,:callable,?list)` | ISO | | `call_residue_vars/2` | `call_residue_vars(@goal,-list)` | | | `chars_base64/3` | `chars_base64(+atom,?atom,+list)` | | | `chars_urlenc/3` | `chars_urlenc(+atom,?atom,+list)` | | | `current_op/3` | `current_op(?integer,?atom,?atom)` | ISO | | `current_prolog_flag/2` | `current_prolog_flag(+callable,+term)` | ISO | | `deconsult/1` | `deconsult(+list)` | | | `engine_create/3` | `engine_create(+term,+callable,?stream)` | | | `engine_create/4` | `engine_create(+term,+callable,?stream,+list)` | | | `evaluable_property/2` | `evaluable_property(+callable,+term)` | ISO | | `findnsols/4` | `findnsols(+integer,+term,+callable,?list)` | | | `flatten/2` | `flatten(?list,?list)` | | | `get0/1` | `get0(?integer)` | | | `get0/1` | `get0(+term)` | | | `get0/2` | `get0(+stream,?integer)` | | | `get0/2` | `get0(+stream,+term)` | | | `keysort/2` | `keysort(+term,?term)` | ISO | | `length/2` | `length(?term,?integer)` | | | `load_files/1` | `load_files(+list)` | | | `msort/2` | `msort(+term,?term)` | ISO | | `numbervars/3` | `numbervars(+term,+integer,?integer)` | | | `open/3` | `open(+atom,+atom,--stream)` | ISO | | `predicate_property/2` | `predicate_property(+callable,+term)` | ISO | | `pretty/1` | `pretty(+predicateindicator)` | | | `print/1` | `print(+term)` | | | `print/2` | `print(+stream,+term)` | | | `process_wait/2` | `process_wait(+integer,-term)` | | | `process_wait/3` | `process_wait(+integer,-term,?list)` | | | `put/1` | `put(+integer)` | | | `put/2` | `put(+stream,+integer)` | | | `raw_argv/1` | `raw_argv(-list)` | | | `read_from_atom/2` | `read_from_atom(+atom,?term)` | | | `read_from_chars/2` | `read_from_chars(+chars,?term)` | | | `reconsult/1` | `reconsult(+list)` | | | `see/1` | `see(+filename)` | | | `setof/3` | `setof(+term,+callable,?list)` | ISO | | `sort/2` | `sort(+term,?term)` | ISO | | `sort/4` | `sort(+term,+atom,+list,?term)` | | | `sre_match_all/3` | `sre_match_all(+pattern,+text,-list)` | | | `sre_match_all_in_file/3` | `sre_match_all_in_file(+pattern,+filename,-list)` | | | `sre_match_all_pos/3` | `sre_match_all_pos(+pattern,+subst,-list)` | | | `sre_match_all_pos_in_file/3` | `sre_match_all_pos_in_file(+pattern,+filename,-list)` | | | `sre_subst_all/4` | `sre_subst_all(+pattern,+text,+subst,-text)` | | | `sre_subst_all_in_file/4` | `sre_subst_all_in_file(+pattern,+filename,+subst,-list)` | | | `tell/1` | `tell(+filename)` | | | `term_hash/3` | `term_hash(+term,+list,-integer)` | | | `term_to_atom/2` | `term_to_atom(+term,?atom)` | | | `term_variables/3` | `term_variables(+term,-list,?tail)` | | | `thread_join/2` | `thread_join(+thread,-term)` | | | `writeln/1` | `writeln(+term)` | | | `writeln/2` | `writeln(+stream,+term)` | |
### library(iso_ext)
13 predicates | Predicate | Template | | |---|---|---| | `call_cleanup/2` | `call_cleanup(:callable,:callable)` | | | `call_det/2` | `call_det(:callable,?boolean)` | | | `call_with_time_limit/2` | `call_with_time_limit(+number,:callable)` | | | `cfor/3` | `cfor(+evaluable,+evaluable,-var)` | | | `countall/2` | `countall(:callable,?integer)` | ISO | | `findall/4` | `findall(+term,:callable,-list,+list)` | | | `forall/2` | `forall(:callable,:callable)` | | | `setup_call_cleanup/3` | `setup_call_cleanup(:callable,:callable,:callable)` | | | `subsumes_term/2` | `subsumes_term(+term,+term)` | ISO | | `succ/2` | `succ(?integer,+integer)` | | | `succ/2` | `succ(+integer,-integer)` | | | `time_out/3` | `time_out(:callable,+integer,?atom)` | | | `variant/2` | `variant(+term,+term)` | |
### library(lists)
44 predicates | Predicate | Template | | |---|---|---| | `append/2` | `append(?list,?list)` | | | `append/3` | `append(?term,?term,?term)` | | | `exclude/2` | `exclude(:callable,?list)` | | | `foldl/4` | `foldl(:callable,+list,+var,-var)` | | | `foldl/5` | `foldl(:callable,+list,+list,+var,-var)` | | | `foldl/6` | `foldl(:callable,+list,+list,+list,+var,-var)` | | | `include/2` | `include(:callable,?list)` | | | `intersection/3` | `intersection(+list,+list,-list)` | | | `is_set/1` | `is_set(+list)` | | | `last/2` | `last(+list,-term)` | | | `list_max/2` | `list_max(+list,?integer)` | | | `list_min/2` | `list_min(+list,?integer)` | | | `list_sum/2` | `list_sum(+list,?integer)` | | | `maplist/2` | `maplist(:callable,+list)` | | | `maplist/3` | `maplist(:callable,+list,+list)` | | | `maplist/4` | `maplist(:callable,+list,+list,+list)` | | | `maplist/5` | `maplist(:callable,+list,+list,+list,+list)` | | | `maplist/6` | `maplist(:callable,+list,+list,+list,+list,+list)` | | | `maplist/7` | `maplist(:callable,+list,+list,+list,+list,+list,+list)` | | | `maplist/8` | `maplist(:callable,+list,+list,+list,+list,+list,+list,+list)` | | | `max_list/2` | `max_list(+list,?integer)` | | | `member/2` | `member(?term,?term)` | | | `memberchk/2` | `memberchk(?term,?term)` | | | `min_list/2` | `min_list(+list,?integer)` | | | `nth0/3` | `nth0(?integer,?term,?term)` | | | `nth0/4` | `nth0(?integer,?term,?term,?term)` | | | `nth1/3` | `nth1(?integer,?term,?term)` | | | `nth1/4` | `nth1(?integer,+term,?term,?term)` | | | `permutation/2` | `permutation(?list,?list)` | | | `reverse/2` | `reverse(?list,?list)` | | | `same_length/2` | `same_length(?list,?list)` | | | `select/3` | `select(+term,+term,?term)` | | | `selectchk/3` | `selectchk(+term,?term,?term)` | | | `subtract/3` | `subtract(+list,+list,-list)` | | | `sum_list/2` | `sum_list(+list,?integer)` | | | `tasklist/2` | `tasklist(:callable,+list)` | | | `tasklist/3` | `tasklist(:callable,+list,+list)` | | | `tasklist/4` | `tasklist(:callable,+list,+list,+list)` | | | `tasklist/5` | `tasklist(:callable,+list,+list,+list,+list)` | | | `tasklist/6` | `tasklist(:callable,+list,+list,+list,+list,+list)` | | | `tasklist/7` | `tasklist(:callable,+list,+list,+list,+list,+list,+list)` | | | `tasklist/8` | `tasklist(:callable,+list,+list,+list,+list,+list,+list,+list)` | | | `transpose/2` | `transpose(?list,?list)` | | | `union/3` | `union(+list,+list,-list)` | |
### Other
9 predicates | Predicate | Template | | |---|---|---| | `/\/2` | `/\(+integer,+integer,-integer)` | ISO evaluable | | `=` | `=/2: =:=(+number,+number)` | ISO | | `=\=/2` | `=\=(+number,+number)` | ISO | | `?=/2` | `?=(+term,+term)` | | | `\//2` | `\/(+integer,+integer,-integer)` | ISO evaluable | | `\/1` | `\(+integer,-integer)` | ISO evaluable | | `\+/1` | `\+(:callable)` | ISO | | `\=/2` | `\=(+term,+term)` | ISO | | `\==/2` | `\==(+term,+term)` | ISO |