Prolog/Predicati built-in

Wikibooks, manuali e libri di testo liberi.

Lista di predicati built-in nel Prolog ISO standard.

unificazione Termini[modifica]

=/2
Unificazione Prolog
unify_with_occurs_check/2
(\=)/2
Prolog non unificabile

Test[modifica]

var/1
Vero se il termine corrente è una variabile
atom/1
Vero se il termine corrente è legato ad un atomo
integer/1
Vero se il temirne e' intero
float/1
Vero se il termine è un numero in virgola mobile
atomic/1
Vero se il termine e' atomo intero o in virgola mobile
compound/1
Vero se il termine è composto
nonvar/1
Vero se il termine corrente non è una variabile
number/1
Vero se il termine corrente è un numero intero o in virgola mobile

Comparazione[modifica]

(@=<)/2
Termine meno di o uguale a
(==)/2
Termine identico
(\==)/2
Termine non identico
(@<)/2
Termine inferiore a
(@>)/2
Termine superiore a
(@>=)/2
Termine più grande di o uguale a

Creazione e decomposizione di termini[modifica]

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

Valutazione aritmetica[modifica]

is/2

Comparazione aritmetica[modifica]

'=:='/2
uguaglianza aritmetica
'=\='/2
Disuguaglianza aritmetica
'<'/2
minore aritmetico
'=<'/2
minore o uguale di aritmetico
'>'/2
Maggiore aritmetico
'>='/2
"Maggiore o uguale di" aritmetico

Vincoli[modifica]

Clause retrieval and information[modifica]

clause/2
current_predicate/1

Creazione e distruzione di vincoli[modifica]

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

Tutte le soluzioni[modifica]

findall/3
bagof/3
setof/3

Input e output[modifica]

Selezione e controllo di flusso[modifica]

current_input/1
current_output/1
set_input/1
set_output/1
open/4, open/3
Aprire uno stream di dati
close/1, close/2
Chiudere uno stream di dati
stream_property/2
at_end_of_stream/1, at_end_of_stream/0
set_stream_position/2

Caratteri input-output[modifica]

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

Lettura da stream binari[modifica]

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

Termini input e output[modifica]

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

Termini di scrittura[modifica]

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

Operatori[modifica]

op/3
current_op/3

Conversione di caratteri[modifica]

char_conversion/2
current_char_conversion/2

Logica e controllo[modifica]

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

Atom processing[modifica]

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

Implementazione definita[modifica]

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

Funtori[modifica]

Funtori di valore[modifica]

(+)/2
Addizione
(-)/2
Sottrazione
(*)/2
Moltiplicazione
(//)/2
Divisione intero
(/)/2
Divisione
(rem)/2
Rimando
(mod)/2
Modulo
(-)/1
Negazione
(abs)/1
Valore assoluto
(sign)/1
Segno
(float_integer_part)/1
Parte intera
(float_fractional_part)/1
Parte frazionale
(float)/1
Float coercion
(floor)/1
Eccesso
(truncate)/1
Troncamento
(round)/1
Arrotondamento
(ceiling)/1
Ceiling

Funzioni aritmetiche e di bit[modifica]

(**)/2
Potenza
sin/1
Seno
cos/1
Coseno
atan/1
Arcotangente
exp/1
Esponente
log/1
Logaritmo
sqrt/1
Radice quadrata
(>>)/2
Scorrimento Bit a destra
(<<)/2
Scorrimento bit a sinistra
(/\)/2
Bitwise and
(\/)/2
Bitwise or
(\)/1
Bitwise complemento