Vai al contenuto

Prolog/Predicati built-in

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Lista di predicati built-in nel Prolog ISO standard.

unificazione Termini

[modifica | modifica sorgente]
=/2
Unificazione Prolog
unify_with_occurs_check/2
(\=)/2
Prolog non unificabile
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 | modifica sorgente]
(@=<)/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 | modifica sorgente]
funtore/3
arg/3
(=../2)
copy_term/2

Valutazione aritmetica

[modifica | modifica sorgente]
is/2

Comparazione aritmetica

[modifica | modifica sorgente]
'=:='/2
uguaglianza aritmetica
'=\='/2
Disuguaglianza aritmetica
'<'/2
minore aritmetico
'=<'/2
minore o uguale di aritmetico
'>'/2
Maggiore aritmetico
'>='/2
"Maggiore o uguale di" aritmetico

Clause retrieval and information

[modifica | modifica sorgente]
clause/2
current_predicate/1

Creazione e distruzione di vincoli

[modifica | modifica sorgente]
asserta/1
assertz/1
retract/1
abolish/1

Tutte le soluzioni

[modifica | modifica sorgente]
findall/3
bagof/3
setof/3

Input e output

[modifica | modifica sorgente]

Selezione e controllo di flusso

[modifica | modifica sorgente]
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 | modifica sorgente]
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 | modifica sorgente]
get_byte/2, get_byte/1
peek_byte/2, peek_byte/1
put_byte/2, put_byte/1

Termini input e output

[modifica | modifica sorgente]
read_term/2, read_term/3
read/1, read/2

Termini di scrittura

[modifica | modifica sorgente]
write_term/3, write_term/2
write/1, write/2
writeq/1, writeq/2
write_canonical/1, write_canonical/2
op/3
current_op/3

Conversione di caratteri

[modifica | modifica sorgente]
char_conversion/2
current_char_conversion/2

Logica e controllo

[modifica | modifica sorgente]
(\+)/1
Not provable
once/1
repeat/0

Atom processing

[modifica | modifica sorgente]
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 | modifica sorgente]
set_prolog_flag/2
current_prolog_flag/2
halt/0, halt/1

Funtori di valore

[modifica | modifica sorgente]
(+)/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 | modifica sorgente]
(**)/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