Expand description
VM-specific value representation. VM-specific value representation.
Simpler than sui_eval::Value — no thunks, no rnix AST references.
The bytecode VM handles laziness through its own mechanisms; values
here are always fully evaluated.
§String Interning
Attribute set keys use Symbol handles instead of heap-allocated
Strings. This makes key comparison O(1) (integer equality) instead
of O(n) (byte-by-byte string comparison). The interner is shared
between the compiler and VM via Rc<RefCell<Interner>>.
Structs§
- Higher
Order Builtin - A partially-applied higher-order builtin that needs VM access to call user closures.
- VMBuiltin
- A built-in function callable from the VM.
- VMClosure
- A compiled closure: the function’s bytecode chunk plus captured values.
- VMThunk
- A lazy thunk with memoization and blackhole detection.
Enums§
- Higher
Order Op - Tag identifying which higher-order operation a partially-applied builtin represents.
- String
Keyed Value - A string-keyed value for external API consumption.
- Thunk
State - State of a thunk’s evaluation lifecycle.
- VMValue
- A value in the bytecode VM.