Closure values
Continuation values
Type alias for environments, stacks and so forth
Type alias for environments, stacks and so forth
Primitives - values which contain simple code segments.
Extra value types which come with this extension.
Base machine value types Null value
Extend the partial function to evaluate a single instruction to handle our new instructions.
Rule to execute one step of this machine.
Rule to execute one step of this machine.
Raise a machine exception
Raise a machine exception
This particular error handler assumes that the environment contains a binding of the name '@exnHandler' to a reference value containing a continuation. This continuation is resumed with the exception value passed to this function as its parameter.
If '@exnHandler' is unbound in the environment or is bound to a value that is not a refernce to a continuation then this function reports a machine panic and stops the machine.
Machine registers
Machine registers
A little work is needed here to ensure that these registers are printed in a reasonable way when we turn on debugging.
(Since version 1.2.1) Use PrettyPrinter.any instead.
Trait implementing this SECD machine extension