Extra value types which come with this extension.
Closure values
Continuation values
Type alias for environments, stacks and so forth
Type alias for environments, stacks and so forth
Extra value types which come with this extension.
Primitives - values which contain simple code segments.
Base machine value types Null value
Extend the partial function to evaluate a single instruction to handle our new instructions.
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