Skip to main content

Crate vertep_core

Crate vertep_core 

Source
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, later cel and rust), the datamodel-independent Value, 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 null datamodel (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 start and step functions (W3C SCXML Appendix D, interpret and mainEventLoop).
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.