Expand description
This module provides the core data structures used by the parser, compiler and evaluator of WLambda.
Structs
Handles calling of destructor functions.
The runtime environment of the evaluator.
Structure for holding information about origin of an AST node.
This structure is the runtime representation of a WLambda function value.
Enums
This type gives the end where to add the VVal::add
function.
Encodes all kinds of jumps up the call stack, like break
and next
in Loops.
Encodes the different types of AST nodes.
Describes an action that needs to be done when returning from a function or somehow jumps unpredictably around the VM prog.
VVal aka. VariantValue is a data structure to represent all kinds of WLambda data structures.
The internal distinction between a character and a byte. They share parts of the lexical represenation and also the semantic purspose is similar.
Position of a variable represented in the CompileEnv
.
Traits
You can implement your own VVal data type and provide it via global functions: