pub fn compile_polydat_interpreter(
source: &str,
) -> Result<PolydatKernel, KernelError>Expand description
compile_polydat returning the interpreter’s concrete kernel.
This is the carve-out from the rule that kernels are used through
the Kernel trait, and it is narrow on purpose:
the concrete type carries the interpreter’s implementation detail
(program(), lookup(), state(), build_subscope(), the
constant and wire readers), which a test asserting on that detail
and a diagnostic reporting it both need and nothing else should
reach for. Driving a kernel — coordinates, externs, cursors,
evaluation, reads, traversals — is the trait’s, on every engine
including this one.