A function object
is a code object that,
when function<-execute’d,
returns a PCE data object as the virtual machine instruction get().
Functions are evaluated iff:
<-check)
and the type does not allow for functions to be passed.
Explicit evaluation is achieved using function<-execute
and function<-forward.
Quoting (e.i. delaying evaluation) is
achieved using a quote_function
object.
PCE currently provides the following functions:
get()
operation. It evaluates to the return value of the get operation
represented.
if or C's Cond ? Expr1 : Expr2.
<-execute
the function. Note that @arg1
is a function itself, thus
?- get(@arg1, forward, 4, X). ==> X = 4
Calls function<-_execute
to perform the real job.