Downloads

Install the native Lispex reference interpreter, verify its checksum, or choose the npm and Playground surfaces.

Every link on this page is pinned to the release shown below. The install scripts find the current release and compare the downloaded binary with the SHA-256 checksum file published beside it.

Release v1.18.0

All platforms

PlatformBinaryChecksum
Linux · x86_64lispex-linux-x86_64.sha256
Linux · aarch64lispex-linux-aarch64.sha256
macOS · Apple siliconlispex-macos-aarch64.sha256
macOS · Intellispex-macos-x86_64.sha256
Windows · x86_64lispex-windows-x86_64.exe.sha256
Release manifestmanifest.jsonfile names, sizes, addresses, and SHA-256 checksums

The ready-made refund example

Carry one refund decision to an application boundary

The v1.17.0 example gathers the reviewed rule, its exact Lispex Image, signed Vouch evidence, the recipient policy, the material for one current request, cases that have to be refused, and a last step that only reports what an application would do and never performs the refund. Use it to follow the whole local workflow and then see exactly where your application must take over.

ReleaseExample archiveChecksum
v1.17.0lispex-v1.17.0-practical-decision-workspace.zip.sha256

Optional extra engines for macOS ARM64

The usual way to install these is the Native routes fetch command. An extra engine here means another way of running Lispex that you install on purpose, and Lispex never picks one for you. These fixed links show the exact two companion archives and the catalog that the Native binary carries inside it, so you can audit them or follow the documented offline installation without guessing a version.

ItemArchiveChecksum
Topaz virtual machine companionlispex-topaz-vm-aarch64-apple-darwin.zip.sha256
Topaz companion that compiles ahead of timelispex-topaz-aot-compiler-aarch64-apple-darwin.zip.sha256
Built-in catalog of extra enginesroute-catalog.json.sha256

The smaller rule engine, exact bytes

Applications can pin the exact bytes of the same engine Native carries inside it, the one that runs a single rule under limits you declare and pulls in nothing from outside itself. Its manifest fixes what the engine covers, how it counts work, how values are passed in and out, what a receipt has to contain, its memory limits, and its checksum. Beside it sit recorded request and result bytes, so anyone using the engine can check that their own bytes come out exactly the same.

ItemFileChecksum
Rule engine Wasm that pulls in nothinglispex-embed-evaluator.wasm.sha256
Rule engine manifestlispex-embed-evaluator-manifest.json.sha256
Recorded request and result byteslispex-embed-evaluator-golden-vectors.json.sha256
Redistribution package for the smaller enginelispex-embed-evaluator-redistribution.zip.sha256

The whole-language rule engine, exact bytes

A separate component covers the whole language profile lispex-profile-1.5, and it carries its own identifiers for what it covers, how it counts work, the component itself, and the artifact. It reuses the ways of passing values in and out, the run transcript, and the shape of the record you can hand on, all of which were already found sufficient, without renaming or widening the smaller product. Native selects it only through explicit embed full commands and creates a fresh instance for every operation.

ItemFileChecksum
Whole-language rule engine Wasm that pulls in nothinglispex-full-embed-evaluator.wasm.sha256
Whole-language rule engine manifestlispex-full-embed-evaluator-manifest.json.sha256
Recorded vectors for the whole-language enginelispex-full-embed-evaluator-provider-vectors.json.sha256
Redistribution package for the whole-language enginelispex-full-embed-evaluator-redistribution.zip.sha256

One-line install

SHELL
# macOS / Linux
curl -fsSL https://www.lispex.com/install.sh | sh

# Windows (PowerShell)
irm https://www.lispex.com/install.ps1 | iex

# npm (Node 18+)
npm install -g lispex

Check the installed command

A successful install prints the exact product version. You can repeat the check at any time.

SHELL
lispex --version
# Expected: lispex v1.18.0

If the command is not found

  • macOS and Linux install to ~/.lispex/bin by default. Add that directory to PATH, then restart the shell.
  • Windows installs to %LOCALAPPDATA%\Lispex\bin by default. Add that directory to the user PATH, then open a new PowerShell window.
  • If you chose npm, confirm that Node 18 or newer is active and that the global npm binary directory is on PATH.

Which one should I use?

  • Choose the native binary for the widest set of tools. It carries the built-in interpreter that reads your source directly and needs nothing else installed, a separate small engine that runs one rule under limits you declare, an explicit Rust virtual machine that runs verified bytecode, commands that show the intermediate forms a program is translated into, exact Lispex Images, and the whole Lispex Vouch workflow. Three things live only here, and they are issuing evidence, re-running the request you pinned, and the local gate check, which passes only when running the pinned rule on this machine still produces exactly the signed decision. Artifacts compiled from that same exact source belong to Native as well, and you can add an optional requirement that the virtual machine agree.
  • Choose npm when Node is already available. It runs source, provides the same exact Lispex Image file commands through Rust compiled to WebAssembly, and authenticates Vouch evidence with the same checker Native uses. It has no intermediate-form or bytecode commands, no reader for compiled artifacts, and no virtual machine. In Vouch it authenticates, and it also replays a decision corpus, which compares recorded receipts offline and never re-runs the interpreter. What it refuses outright is issuing evidence, the re-execution option on verify, and the local gate check, and all three of those stay with Native.
  • Use the Playground to run source, or to create, open, page through, recover, download, and explicitly run exact images, with no install and everything in your browser. It has no intermediate-form or bytecode import and no virtual machine, and it exposes no Vouch artifacts, keys, authentication, or policy tools.

Optional Topaz engines

Compare verified bytecode or build a product with no source inside

On macOS ARM64, Native can explicitly fetch the exact Topaz 5.11 virtual machine and the companion that compiles ahead of time. The virtual machine compares one verified bytecode artifact against Rust, and the compiler builds a separate product with no source inside it, using Rust tools you supply yourself. Installing them selects and executes nothing, and Rust stays the default. No catalog, companion, comparison result, or compiled product ever enters Vouch authority.

Lispex Images

Carry exact source as an image that always comes back the same

Native and npm share the same image file commands, and the public WebAssembly build and the Playground run the same Rust codec on your own machine. Every one of them restores source byte for byte and runs it only after proving that the bytes are exactly the ones that went in. Native accepts a proved image throughout the Vouch workflow, while npm accepts it for identity, policy, and authenticated verification only. The image itself is a carrier, never evidence, never authority.

Lispex Vouch

Use Native when a decision must reach a local gate

Native binds authenticated evidence to the exact source and input you supply outside the bundle, runs the rule again with the interpreter on your own machine, and grants only a matching local decision. On explicit request it also rebuilds a compiled artifact from that same source and requires the verified Rust virtual machine to agree. Unpinned bundles, ordinary bytecode, artifacts, and reports cannot promote themselves into authority.