Next: Optimizing Expressions, Previous: Application Defined Types, Up: Expression Evaluator
The function arguments not having side effects are not evaluated for the
functions including the X1f4_E4_LAZY_LINK
is their definition
flag
field.
See Function Flags.
See struct x1f4_function_type.
The function arguments having side effects are those referring side effects
infix binary operators or application indicated as having side effect functions
and operators. The former are identified by the X1f4_E4_LEFT_XSET
bit
in their flags
definition field, the later by the
X1f4_E4_KEEP_CALL
bit in their flags
definition field.
See struct x1f4_function_type.
See struct x1f4_operator_type.
See Operator And Function Flags.
Two functions are provided for determining which arguments have been evaluated already and for evaluating not yet evaluated arguments during function logic execution:
x1f4_hook_expression
supplies the evaluation status of the function arguments
See x1f4_hook_expression.
x1f4_clip_expression
evaluates arguments not evaluated yet
See x1f4_clip_expression.