True when Property is a property of the evaluable function Function.
Evaluable functions are expressions processed by the arithmetic
predicates is/2, </2, =</2, =:=/2, >/2 and >=/2. Defined properties
are:
- built_in
- Function is built-in. The proposal defines additional properties
for systems that allow defining new functions at runtime.
SWI-Prolog provides library(arithmetic) for this, which rewrites
the source as interleaved predicate calls and built-in function
evaluation.
- iso
- Function is part of the ISO standard. This does, for SWI-Prolog,
not imply that the implementation satisfies the ISO
standard. It implies that it implements the same mathematical
operation as specified by the standard. The returned type may
be more precise and may, depending on Prolog flags, return
non-normal floats where the ISO standard demands an exception.
- template(Function, Return)
- Type support. Types used are
integer
, rational
and float
.
Functions that copy the type to the output use a variable to
indicate this, e.g., template(-Type, Type)
. A function may
have multiple type templates.
Future versions may provide this predicate as a built-in.
- Arguments:
-
Function | - is a variable or callable term. If it is a callable
term, only the name and arity are considered to denote the
evaluable. |
- Compatibility
- - discussed by several implementors, initiated by Paulo Moura.