Prolog/Predicados embutidos
Aspeto
< Prolog
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