Compare Engine Results

Choose a comparison report, read agreement and resource results, and distinguish implementation coverage from executed cases.

Use this reference to choose a comparison report and explain what agreed. A runtime implementation is the program that evaluates your Lispex source or compiled instructions.

Read a Lispex engine comparison

The bytecode guide provides the complete rule.lspx example. It prints refund with display and newline. With the Native CLI, run:

SH
lispex compare-engines --receipt tree-vm.json rule.lspx

Native writes the report, prints this summary, and exits 0.

JSON
{
  "all_agree": true,
  "receipt": "tree-vm.json",
  "schema": "lispex.compare-engines-summary/v1",
  "semantic_mismatch_axes": []
}

Both engines recorded refund\n as stdout and completed successfully. all_agree applies to the checked semantic observations for this source. Open tree-vm.json to read the individual results and identities. Choose a new report path. An existing file causes exit 3 and remains unchanged.

Choose a record

Record formatCompared or recorded dataWhere to start
lispex.rust-engine-comparison/v1Lispex Interpreter and Lispex VM, using one derived Core IR and bytecode filecompare-engines in the bytecode guide
csk.meaning-differential-report/v1Lispex Interpreter behavior and Meaning Environment v1 for the selected sourcemeaning-diff in the CLI reference
csk.differential-receipt/v0Recorded cases from the historical Rust, LIL, and LIT corpusVouch receipts
sicp-observation/v1One SICP execution's termination, value, stdout, diagnostics, warnings, and artifact identitySICP guide

A corpus is a named set of programs used for comparison. A SICP observation records one execution. Its lispex-trace/v1 trace records execution steps. Use the relevant format to interpret the recorded fields.

Separate semantic results from resource usage

Start with completion status, then read the reported differences. Compare the source, input, executor identities, profiles, and output channels named in the report.

Read semantic differences and resource differences separately. The Lispex VM uses the bytecode cost model, and the Lispex Interpreter uses its own depth model. Lispex Interpreter and Lispex VM lists the resource observations each comparison shares.

Find the implementation

ImplementationHow it runsRecorded information
Lispex InterpreterTree interpreter in Native and WASMSupport results for 205 of 205 tracked primitive rows
Lispex VMRuns verified bytecode derived from Core IRSource, Core IR, bytecode, result, diagnostics, and resources
SICPExplicit profile in Native and @lispex/sicp WASMsicp-observation/v1 and lispex-trace/v1

A primitive row names one operation in the capability registry. Its supported or unsupported result describes implementation coverage. The counts above describe those registry rows. A corpus count instead tells you how many named programs were run. An engine comparison records the results for the exact files and engines it identifies.

LIL and LIT completed their role in internal cross-validation. They were retired in Lispex 1.21 to reduce future maintenance costs. The LIL 205/205 and initial LIT 84/205 counts belong to historical procedure tables. Read them with the retirement and versioned records.

For individual operations, open the current feature catalog. For product and implementation differences, read Lispex Interpreter and Lispex VM.