Extra value types which come with this extension.
Closure values
Continuation values
Base machine value types Null value
Type alias for environments, stacks and so forth
Type alias for environments, stacks and so forth
Extra value types which come with this extension.
Type alias for the type of the exception handler register
Type alias for the type of the exception handler register
Extra value types which come with this extension.
Primitives - values which contain simple code segments.
Extra value types which come with this extension.
Extra value types which come with this extension.
Extra value types which come with this extension.
The emitter to use in this machine.
The emitter to use in this machine.
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.
The extra exception handler register.
The extra exception handler register.
Initialise the machine.
Initialise the machine.
Table of builtin primitives for this machine.
Wrap supplied code in a preamble / postamble This wrapper ensures that the exception handler register is initialised to contain a global "abort" exception handler.
Raise a machine exception
Raise a machine exception
This handler throws the exception given as its argument to the continuation currently stored in the exception handler register.
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.
Unescape the most obvious escape sequences.
Unescape the most obvious escape sequences. Replaces only \t, \n, \" and \\. \c where c is some other character is turned into c. A backslash at the end is silently ignored.
(Since version 1.2.1) Use PrettyPrinter.any instead.