Determinism and Resource Profiles

Lispex ties deterministic observations to exact source, input, executor identity, resource values, and output channels.

Determinism in Lispex is a concrete execution contract. A comparison names the exact source bytes, input bytes, executor, resource profile, and observable channels. Repeating that tuple produces the same result, stdout, warnings, and diagnostic record.

Resource profiles

Each execution route publishes its input, output, transition, control, and allocation values. The report records which values were selected and what the run consumed. Programs continue until they finish, raise a runtime condition, or reach one of those values.

Contract fieldWhat it fixesObservable result
source and inputexact program and request bytesvalue or runtime diagnostic
executor and profilenamed language support and resource valuesterminal status and resource report
observation setstdout, warnings, values, and diagnosticsexact channel order
corpus and baselineinputs selected before executionagreement, mismatch, or not-comparable
artifact identityexact product bytes used for the runreceipt or engine fingerprint

Wall-clock duration remains an operational measurement. Semantic resource reports use the counters published by the selected execution route.

Choosing an execution route

The reference interpreter and verified Rust VM run trusted rule source for authoring, local automation, and route comparison. lispex embed runs supplied decision rules with configured work and memory values and a fresh instance.

A comparison receipt applies to its named corpus, executors, profiles, and observations. Engine faults record their terminal status separately from guest values and runtime diagnostics.

Keep going

Read Proper Tail Calls for continuation behavior and the embed guide for a resource-controlled application workflow.

Proper Tail Calls · Embed Lispex

Determinism and Resource Profiles · Lispex