Expand description
Value — runtime values produced by the interpreter.
Layered carefully so a future arena-backed representation can replace the
Arc<...> inner pointers without changing the public API. Today: ergonomic
reference-counted variants; tomorrow: &'arena Value allocated from
bumpalo::Bump held by tatara-terreiro.
Structs§
- Builtin
- Lambda
- A user-defined closure — captures its lexical environment.
- Thunk
- A deferred computation. Forced once; result cached. Enables Nix-style
non-strict evaluation:
(let ((x big-compute)) small)skips big-compute unless something forcesx.
Enums§
- Arity
- Thunk
State - Value
- Every runtime value flows through this enum. Variants match a Nix-ish ontology (atoms, lists, attrsets, functions, thunks, paths, derivations) so the Lisp surface can carry Nix’s academic semantics verbatim.
Type Aliases§
- Builtin
Fn - A native builtin. Takes already-evaluated args + current env + interpreter handle so it can evaluate Sexp if it needs to (for short-circuit forms, the interpreter uses special-form dispatch instead).