Expand description
Chart IR, validation and the pure SCXML step kernel for Vertep.
vertep-core is no_std with alloc and has no I/O, no async and no clock: every
interaction with the outside world is an effect returned by the step function.
The pipeline is: build or read a ir::Chart, give anonymous states identifiers with
identity::assign_generated_ids, compile it with compile::CompiledChart::new (which runs
validate::validate), pick the datamodel with null::create_datamodel, then call
session::start once and session::step for every input. Wrap the datamodel in a
tape::TapeDatamodel to record the answer tape for the Lean oracle.
@tg: implements:: [[decisions#IR is the hub]] @tg: implements:: [[decisions#SCXML semantics are normative]] @tg: implements:: [[decisions#No-std core and tokio shell]] @tg: implements:: [[decisions#Pluggable datamodel]]
Modulesยง
- bitset
- A small fixed-capacity bitset over dense state indices.
- compile
- The compiled chart: a validated IR flattened into dense tables for the step kernel.
- datamodel
- The datamodel contract shared by every datamodel (
null,ecmascript, latercelandrust), the datamodel-independentValue, and the host-supplied registry. - identity
- Deterministic identifiers for states declared without an
id. - ir
- The chart IR: the canonical, surface-independent representation of a statechart.
- kernel
- The selection and entry/exit kernel of the W3C SCXML interpretation algorithm (Appendix D).
- null
- The
nulldatamodel (W3C SCXML B.1) and the registry helpers that make it always available. - order
- Document order over the chart IR.
- session
- Sessions and the pure
startandstepfunctions (W3C SCXML Appendix D,interpretandmainEventLoop). - tape
- The datamodel answer tape for the Lean oracle (decision D5).
- trace
- Per-macrostep trace records.
- types
- The chart type language: one algebraic type language for event payloads, context and executable content, shared by every surface ([[decisions#One IR type language]]).
- validate
- Well-formedness validation and initial-state resolution.