Represents the context about the program state at a point in time.
Represents a function created through the interpreter.
Represents a function created through the interpreter. This implementation is missing the closure that will be filled in elsewhere.
The parameter names for the function
The body of the interpreted function
Optional documentation to associate with the function
Represents a function created through the interpreter.
Represents a function created through the interpreter.
The parameter names for the function
The enclosing scope of the function when defined
The body of the interpreted function
Optional documentation to associate with the function
Creates a function created outside of the interpreter.
Creates a function created outside of the interpreter.
The parameter names for the function
The function implementation
Optional documentation to associate with the function
Represents a scope within the language containing declared variables as well as the parent scope if it exists.
Represents a scope within the language containing declared variables as well as the parent scope if it exists.
The variables associated with the scope
Some scope if a parent exists, otherwise None
Represents the context about the program state at a point in time.
The local scope of the program at a point in time