[previous] [up] [next]     [contents] [index]
Next: Tail Evaluation Up: Evaluation Previous: Evaluation

Top-level Evaluation Functions

The functions scheme_eval, scheme_apply, etc., are top-level evaluation functions. Continuation invocations are confined to jumps within a top-level evaluation.

The functions _scheme_eval_compiled, _scheme_apply, etc. provide the same functionality without starting a new top-level evaluation; these functions should only be used within new primitive procedures. Since these functions allow full continuation hops, calls to non-top-level evaluation functions can return zero or multiple times.

Currently, escape continuations and primitive error escapes can jump out of all evaluation and application functions. For more information, see section 3.6. In MzScheme 53 and later, we expect to add a new family of functions ending with _eb (e.g., scheme_eval_eb); these functions will disallow escape continuation hops as well as full continuation hops.



PLT