Prolog/Predicados embutidos

Origem: Wikilivros, livros abertos por um mundo aberto.

Esta é uma lista dos predicados embutidos na maioria das versões de Prolog.


Este módulo encontra-se em processo de tradução. A sua ajuda é bem vinda.

Termo de unificação[editar | editar código-fonte]

=/2
Unificação Prolog
unify_with_occurs_check/2
(\=)/2
Sem unificação Prolog

Teste de tipo[editar | editar código-fonte]

var/1
Verdadeiro se o termo atual for uma variável.
atom/1
Verdadeiro se o termo for ligado a um átomo.
integer/1
Verdadeiro se o termo está ligado a um número inteiro.
float/1
Verdadeiro se o termo está ligado a um número de ponto flutuante.
atomic/1
Verdadeiro se o termo é ligado a um átomo, inteiro ou número de ponto flutuante.
compound/1
Verdadeiro se o termo é ligado a um termo composto.
nonvar/1
Verdadeiro se o termo não for uma variável.
number/1
Verdadeiro se o termo é ligado a um número inteiro ou ponto flutuante.

Comparação de Termos[editar | editar código-fonte]

(@=<)/2
menor ou igual a
(==)/2
igual a
(\==)/2
Diferente
(@<)/2
Menor que
(@>)/2
Maior que
(@>=)/2
maior ou igual a

Termo de criação e decomposição[editar | editar código-fonte]

functor/3
arg/3
(=../2)
copy_term/2

Avaliação aritmética[editar | editar código-fonte]

is/2

Comparação aritmética[editar | editar código-fonte]

'=='/2
Arithmetic equal
'=\='/2
Arithmetic not equal
'<'/2
Arithmetic less than
'=<'/2
Arithmetic less than or equal to
'>'/2
Arithmetic greater than
'>='/2
Arithmetic greater than or equal to

Clauses[editar | editar código-fonte]

Clause retrieval and information[editar | editar código-fonte]

clause/2
current_predicate/1

Clause creation and destruction[editar | editar código-fonte]

asserta/1
assertz/1
retract/1
abolish/1

All solutions[editar | editar código-fonte]

findall/3
bagof/3
setof/3

Input and output[editar | editar código-fonte]

Stream selection and control[editar | editar código-fonte]

current_input/1
current_output/1
set_input/1
set_output/1
open/4, open/3
Opening a stream
close/1, close/2
Closing a stream
stream_property/2
at_end_of_stream/1, at_end_of_stream/0
set_stream_position/2

Character input-output[editar | editar código-fonte]

get_char/2, get_char/1
get_code/2, get_code/1
peek_char/2, peek_char/1
peek_code/2, peek_code/1
put_char/2, put_char/1
put_code/2, put_code/1
nl/0, nl/1

Reading from binary streams[editar | editar código-fonte]

get_byte/2, get_byte/1
peek_byte/2, peek_byte/1
put_byte/2, put_byte/1

Term input and output[editar | editar código-fonte]

read_term/2, read_term/3
read/1, read/2

Writing terms[editar | editar código-fonte]

write_term/3, write_term/2
write/1, write/2
writeq/1, writeq/2
write_canonical/1, write_canonical/2

Operators[editar | editar código-fonte]

op/3
current_op/3

Character conversion[editar | editar código-fonte]

char_conversion/2
current_char_conversion/2

Logic and control[editar | editar código-fonte]

(\+)/1
Not provable
once/1
repeat/0

Atom processing[editar | editar código-fonte]

atom_length/2
atom_concat/3
sub_atom/5
atom_chars
atom_codes/2
char_code/2
number_chars/2
number_codes/2

Implementation defined hooks[editar | editar código-fonte]

set_prolog_flag/2
current_prolog_flag/2
halt/0, halt/1

Functors[editar | editar código-fonte]

Evaluable functors[editar | editar código-fonte]

(+)/2
Addition
(-)/2
Subtraction
(*)/2
Multiplication
(//)/2
Integer division
(/)/2
Division
(rem)/2
Remainder
(mod)/2
Modulus
(-)/1
Negation
(abs)/1
Absolute value
(sign)/1
Sign
(float_integer_part)/1
Integer part
(float_fractional_part)/1
Fractional part
(float)/1
Float coercion
(floor)/1
Floor
(truncate)/1
Truncate
(round)/1
Round
(ceiling)/1
Ceiling

Other arithmetic and bitwise functors[editar | editar código-fonte]

(**)/2
Power
sin/1
Sine
cos/1
Cosine
atan/1
Arc tangent
exp/1
Exponentiation
log/1
Log
sqrt/1
Square root
(>>)/2
Bitwise right shift
(<<)/2
Bitwise left shift
(/\)/2
Bitwise and
(\/)/2
Bitwise or
(\)/1
Bitwise complement