Skip to main content

Module value

Module value 

Source

Structs§

Closure
MapVal
A Soil map: entries kept sorted by the carried order (a sorted vec by resolved decision; swap for a tree behind this API only if profiling demands it — plan 01).
OpaqueVal
An opaque handle (FFI values, abstract types). Identity — for eq, compare, and hash under the opaque strategy — is the address of the containing allocation, so two handles are equal iff they are the same allocation.
Record
A record value: its type plus field values in declaration order. Field names live in the type’s descriptor, not in the value.
Ref
A reference-counted, immutable heap allocation.
SumVal
A sum value: its type, the variant’s declaration index, and at most one payload (design §3.1). Variant names live in the descriptor.

Enums§

MapOrder
How a map orders its keys.
Value
A Soil value.

Functions§

debug_live_values
The number of live runtime allocations on this thread.

Type Aliases§

ClosureFn
A Soil closure, as a boxed Rust callable (resolved decision, impl plan §1): plan-01 tests and builtins pass Rust closures, soil0’s interpreter captures AST + environment, compiled code later wraps an extern "C" function and its environment. One invocation path.