Skip to main content

Module scope_kernel

Module scope_kernel 

Source
Expand description

A node of nmbrs’s scope tree: a kernel on the fiber engine, beside the interpreter program scope synthesis reads.

polydat splits a scope in two (native_scope_trees.md §2): the analysis program — which inputs are coordinates, what a child re-emits from its parent, checkpoint identity, the describe views — and the kernel that runs, on any engine. A ScopeKernel keeps both. Synthesis reads ScopeKernel::program; everything that evaluates goes through the engine-neutral Kernel the type dereferences to, and children are bound under it with bind_under / instantiate_under.

The running kernel is on crate::fiber_engine::fiber_engine when the engine’s image lists the program’s inputs and outputs in the same order (so an index resolved on the program drives it), and on the interpreter otherwise.

Structs§

ScopeKernel
A scope kernel and the interpreter program it stands for.
SourceMatter
Source matter for ScopeKernel::build_under: what PolydatMatter::builder().source(..) carried.

Traits§

IntoSharedScope
What a holder of a shared scope accepts: a scope kernel, one already shared, or an interpreter kernel standing in for a scope.