We have tried to keep the predicate descriptions clear and concise.
First the predicate name is printed in bold face, followed by the
arguments in italics. Arguments are preceded by a mode indicator There
is no complete agreement on mode indicators in the Prolog community. We
use the following definitions:21These
definitions are taken from PlDoc. The current manual has only one mode
declaration per predicate and therefore predicates with mode (+,-) and
(-,+) are described as (?,?). The @
-mode is often replaced
by
.
+
+ | Argument must be fully instantiated to a term that satisfies the required argument type. Think of the argument as input. |
- | Argument must be unbound. Think of the argument as output. |
? | Argument must be bound to a partial
term of the indicated type. Note that a variable is a partial term
for any type. Think of the argument as either input or output
or
both input and output. E.g. In
stream_property(S, reposition(Bool)) , the reposition
part of the term is input and the uninstantiated Bool is
output. |
: | Argument is a meta-argument. Implies .
See section 5 for more
information on module-handing. |
@ | Argument is not further instantiated. Typically used for type-tests. |
! | Argument contains a mutable structure that may be modified using setarg/3 or nb_setarg/3. |