- All Implemented Interfaces:
- java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, Freezable
public class Env
extends Iced
Execute a set of instructions in the context of an H2O cloud.
An Env (environment) object is a classic stack of values used during walking of an AST. While walking the syntax tree
new scopes may be encountered, and each new scope will inherit from the caller's scope. All scopes have a common
ancestor as the global scope.
For efficiency, reference counting is employed to recycle objects already in use rather than creating copies upon
copies (a la R). When a Vec is `pushed` on to the stack, its reference count is incremented by 1. When a Vec is
`popped` off of the stack, its reference count is decremented by 1. When the reference count is 0, the Env instance
will dispose of the object. All objects live and die by the Env's that create them. That means that any object not
created by an Env instance shalt not be DKV.removed.
Therefore, the Env class is a stack of values + an API for reference counting.
- See Also:
- Serialized Form