Expand description
The backend-blind baseline engine.
Compact (schema-driven) encode/decode, compatibility planning that turns a
(writer schema, reader schema, descriptor) triple into IR, and the
interpreter that runs that IR. The interpreter always works, on every
platform, including those where a JIT cannot run (r[exec.interpreter-baseline]).
Like phon-ir, this crate is binding-free: it consumes descriptors and an
IR and reaches for no reflection (r[crates.engine-is-binding-free]).
Spec: docs/content/spec.md — “Compact mode”, “Compatibility”, “Decoding”,
“Decoding untrusted input”, and r[crates.concern-separation].
Re-exports§
pub use compact::CompactError;pub use compact::Registry;pub use plan::Plan;pub use interp::run;
Modules§
- compact
- The compact (schema-driven) codec for the dynamic
Value. - interp
- The IR interpreter: run a lowered
Programagainst a reader to produce aValue. The reference semantics a JIT must match exactly (r[exec.interpreter-baseline]). - plan
- Compatibility planning: translate a writer schema with a reader schema
into a
Plan, then decode the writer’s compact bytes into a reader-shapedValue. - typed
- The typed path: lower a
Descriptor(which carries its schema) into a flatMemProgram, then run it to encode or decode a value living in this process’s memory. - validate
- The hostile-input validation discipline every decode path enforces: length and dimension bounds, depth limits, tag/text checks, set/map uniqueness, and schema-bundle verification.