Runtime and Backends

Choose among the Rust reference runtime, LIL, LIT, the Rust VM, and installed Topaz products through explicit versioned routes.

Runtime families

FamilyCurrent capability rowsImplementation lineagePrimary role
Rust reference205/205installed Rust reference interpreteroperational language reference
LIL205/205interpreter written in Lispexself-hosted language route
LIT84/205Topaz transcriptionTopaz-owned implementation route

All 205 registry rows carry profile-required. Each backend reports its implemented rows through the same versioned observation contract. LIT returns an explicit capability status for the remaining 121 rows, which gives Topaz a precise implementation queue.

The historical family receipt binds 144 named cases to executed Rust, LIL, and LIT product-runner artifacts, resource profiles, observations, and replay.

Rust product surfaces

ProductRuntime and tools
NativeRust tree reference, Rust VM, formatting, MCP authoring, Core IR, bytecode, installed Topaz VM and AOT routes on macOS ARM64, receipt generation, and the full Vouch chain
npm CLI and packageRust reference through WebAssembly, image support, offline receipt verification and replay, policy tooling, and authenticated Vouch verification
Public WebAssemblyRust reference API and image encode, inspect, decode, and run
PlaygroundInteractive Rust reference execution and image workflows in the browser

Native, npm, Public WebAssembly, and Playground share the whole-source interactive projection. They read and normalize the complete source, render explicit output and each successful form in order, and report terminal status as 0, 1, or 2. Ordinary runtime faults retain output already committed by earlier forms. Resource termination returns empty output, one resource diagnostic, and status 2. Browser results expose output, diagnostics, ok, and exit_status directly.

lispex fmt, fmt --check, and fmt --write use the installed Native binary. The VS Code and Open VSX extension delegates Format Document to that binary.

lispex mcp serve uses local stdio to provide the current language and primitive registry, authoring evaluation of trusted source under declared byte and time limits, diagnostics, and fixed route comparisons. Native owns this authoring surface.

Core IR and compiled execution

Native lowers the complete current profile to canonical lispex.core-ir/v1, strictly validates it, and exposes resolved cells, captures, tail positions, requirements, source anchors, and identities.

Strict Core IR compiles to canonical lispex.bytecode/v1. The verifier checks the artifact before VM state is created, and lispex-rust-vm/v1 executes all 205 primitive rows, including the 18 guest-calling rows through iterative VM state machines. Rust tree remains the default engine; --engine vm selects the VM explicitly.

On Native macOS ARM64, the installed lispex-topaz-vm/v1 product reads the same bytecode through its own Topaz reader, verifier, and explicit-control VM. The request records exact source, Core IR, bytecode, input, product identity, full-u64 transition limit, transport caps, and five zero fallback counters.

The Topaz AOT route emits a readable static control graph, compiles it with the installed Topaz 5.11 toolchain, and creates a source-free product. Its product, source map, executable, tool identities, input, resource request, and observations remain bound through aot build, inspect, validate, and run.

compare-engines, compare-vms, and compare-routes publish atomic diagnostic reports for explicitly selected routes. Each report keeps semantic, resource, and lineage observations in separate fields.

Vouch integration

Core IR and bytecode provide canonical meaning and execution artifacts. Native Vouch creates a source-bound lispex.vouch-compiled-artifact/v1, authenticates the request, derives Core IR and bytecode again from the recipient-selected source, records current tree and Meaning agreement, compares the verified Rust VM observation, and passes the result to the local gate.

Topaz VM, AOT, and route-comparison reports remain engineering routes with their own product identities. The compiled Vouch path uses the Rust VM artifact derived from the exact recipient-selected source.

Runner admission record

FieldRecorded value
backend kindinterpreter family and versioned route
invocationdeterministic command or framed protocol
artifact identityexecuted binary, WebAssembly, and glue bytes
provenancedeclared source and producer lineage
resource profilenamed limits and reported counters
observation scopeexact corpus, family, target, and host variant

These fields keep every comparison attached to the product that produced it and give later releases a precise continuation point.

Bytecode and Rust VM · Backend Observation Matrix · Choosing Where to Run

Runtime and Backends · Lispex