Skip to main content

Module value

Module value 

Source
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§

HigherOrderBuiltin
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§

HigherOrderOp
Tag identifying which higher-order operation a partially-applied builtin represents.
StringKeyedValue
A string-keyed value for external API consumption.
ThunkState
State of a thunk’s evaluation lifecycle.
VMValue
A value in the bytecode VM.