Skip to main content

Module closures

Module closures 

Source
Expand description

The closure tier: every node runs its generated op over a flat u64 slot buffer, by-reference outputs as Ref2 pairs into step-owned scratch (compiled_handles.md).

Four kernel types, each produced by a distinct compiler path. They differ in what set_inputs marks and whether eval_for_slot consults the cone guard; the shared step loop reads the mode’s use_clean flag per step.

TypePush (per-node skip)Pull (cone guard)
CompiledKernelRaw
CompiledKernelPushyes
CompiledKernelPullyes
CompiledKernelPushPullyesyes

Structs§

CompiledKernelPull
The closure tier with the cone guard: an output whose cone no changed input reaches is not recomputed.
CompiledKernelPush
The closure tier with per-step skipping: a changed input invalidates its dependents through the plan, and a current step is skipped.
CompiledKernelPushPull
The closure tier with per-step skipping and the cone guard.
CompiledKernelRaw
The closure tier with no provenance: every evaluation runs every step.