(Lispex)

Lispex manual


(Lispex)

( parens are punctuation, recursion is rhyme )

A small Lisp for decision rules. Same input, same answer, and receipts you can check.

Plate I

Code is data, printed plainly.

LISPEX
(define program '(+ 1 2 3))
program

Form factorial

LISPEX
(define (factorial n)
  (if (= n 0)
      1
      (* n (factorial (- n 1)))))

(factorial 5)

Datum quoted form

LISPEX
(define form
  '(map (lambda (n) (* n 10))
        '(1 2 3 4)))

form

Lispex runs without a server. A reference interpreter, compiled to WebAssembly, evaluates code right in your browser.

Lispex runtimes

Three execution paths, one visible boundary.

LIL is Lispex-in-Lispex. LIT is a Lispex-in-Topaz transliteration. Both join the Rust reference as bounded implementation lines.

LIL currently supports 85/205 primitive capability rows; LIT remains separately bounded at 84/205. The released joint Rust/LIL/LIT receipt records 59/144 all-family agreements and keeps 179 pair divergences visible. A separate 11,088-case same-Rust-lineage campaign found zero natural divergence. That scaled result is not a three-family or whole-language claim.

Explore the backend observations
Lispex Vouch

Every decision can keep a receipt.

Lispex keeps bundle authentication portable and requires exact external request binding before Native execution authority.

Write a small decision rule and pin the input it runs on. The native release binary can use lispex vouch issue to construct and sign qualifying evidence. lispex vouch verify authenticates the exact bound context. For a bundle, adding --reexecute now requires external --source and --input, then reruns the rule with both current Native evaluator paths and compares the complete transcript with both signed observations. lispex vouch gate --require-decision then returns success only when that live agreement exactly matches the required decision. Its report is not a transferable token or permission for an external action. Trust policy v1 rejects a valid signed rule unless its exact source is allowed by the selected key. Native and npm apply that check through the same Rust verifier and emit the same canonical v0 report. Unpinned bundle verify remains authentication-only; it cannot reach re-execution or gate. Authentication runs before request comparison, and only a private live request-bound value can continue to current execution. This is request equality, not freshness or replay control. lispex vouch policy create composes canonical policy v1 from a consumer-reviewed public key, engine digest, and exact source while policy check validates exact canonical bytes. These commands create configuration, not trust, evidence, or authority. npm cannot issue, re-execute, gate, or promote a report. Public WASM and the Playground expose evaluation, not authentication or policy tooling.

Read about Lispex Vouch
Request-bound Vouch

A bundle cannot choose the request that your gate executes.

Native bundle re-execution and gate require a complete external source/input pair and carry only live request-bound evidence into execution.

Raw and unpinned authentication remain available. Missing or partial authority pins fail before artifact I/O; reports and bundle bytes cannot be promoted into a grant.

Run the complete Vouch workflow
KO

생각의 원형을 담는 언어.

EN

The language that captures the shape of thought.

RU

Язык, воплощающий форму мысли.