Prolog/Predicati built-in
Aspetto
< Prolog
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
Test
[modifica | modifica sorgente]- 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
Vincoli
[modifica | modifica sorgente]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
Operatori
[modifica | modifica sorgente]- 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
[modifica | modifica sorgente]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