Lispex

Meet Lispex through one complete decision rule, then choose a six-step learning path, the Playground, or the precise manuals.

Lispex is a Lisp for decisions that should be easy to read again. A rule is ordinary text. The same source and input produce the same observable answer, and the result can stay shaped like data instead of disappearing inside an application.

See the shape first

A Lispex program is built from values and parenthesized forms. In an evaluated form, the first name says what to do and the remaining expressions supply the inputs.

LISPEX
(+ 2 3)

Result

OUTPUT
5

Nesting reads from the inside out. Below, define puts a name on a value, >= answers a question, and if selects one of two data values.

LISPEX
(define total 62)

(if (>= total 50)
    '(decision free-shipping)
    '(decision standard-shipping))

Result

OUTPUT
(decision free-shipping)

The leading quote in '(decision free-shipping) means “keep this list as data.” Without it, Lispex would try to call a procedure named decision. That central distinction, that forms can be executed or preserved as data, is one of the useful ideas you will learn gradually.

What Lispex is good at

Lispex fits rules such as eligibility checks, refund windows, pricing boundaries, routing choices, and repeatable transformations. Its reference runtime relies on deterministic evaluation rules, exact arithmetic where possible, and stable diagnostics. These properties make a rule easier to rerun and compare.

Lispex is a dedicated language for deterministic decision logic. It evaluates self-contained rules with no hidden network calls, clocks, random values, or package imports. Your application supplies the input and decides what to do with the returned value.

Choose your entrance

If you want to…Go here
learn the language in six stepsLearning Path
run code without installing anythingPlayground
study SICP chapter by chapter by reading, editing, and running codeLispex · SICP course
scan the everyday syntax on one pageSyntax at a Glance
install a local runtimeFirst Program
build and run a verified Native artifactRun Verified Bytecode
look up an exact form or procedureSyntax Reference or Procedure Index

Exact Lispex Images, verified Native bytecode, and Lispex Vouch are real product features, but none is a prerequisite for learning the language. Images carry exact source. Bytecode gives you an explicit local route through a virtual machine. Lispex Vouch checks a recorded decision later. It authenticates who signed a rule, binds your own copy of the source and input, and can require one exact local decision. Learn the language first. Those paths will make more sense afterward.

Running a rule you do not trust

Standard Lispex execution runs trusted source directly in memory. This direct model powers the multi-route tools and the authoring evaluation offered by lispex mcp serve.

For rules that use a configured resource profile, the downloadable program offers lispex embed. It evaluates the decision profile under deterministic CPU fuel and memory values within the host process and produces a portable core record when execution completes.

A useful promise

The manual presents exact product capabilities and verified boundaries. Rust is the reference runtime. Topaz is a companion language and compiler used for a Topaz virtual machine and an AOT toolchain that compiles a rule ahead of time into a standalone program. LIL (Lispex in Lispex) and LIT (Lispex in Topaz) operate as differential verification backends. You can explore these components in Runtime and Backends when deployment or cross-checking matters.

Words this documentation reuses

A handful of words repeat across the manual, the guides, and the release history. You do not need any of them for the course.

WordWhat it means
evaluatorthe program that runs the rule
treethe built-in interpreter that reads your source directly
VMa virtual machine, a program that runs prepared instructions instead of reading your source
AOTahead-of-time compilation, which turns a rule into a program before anyone runs it
canonicalwritten the same way every time, so the same input gives the same bytes
resource profilethe exact work and memory values assigned to a run
meterthe counter that measures how much work a run used
routeone way of running a rule
route locka file that records which route was chosen independently from where that product sits on the machine
portable corethe record that binds the rule, the input, the limits, and the outcome of one run
receipta written record of what one run or one installation produced
courtone run of checks gathered into a single verdict
surfacea place where Lispex is offered, such as Native, npm, the WebAssembly build, or the Playground, while the surface of the language means the part of the language that is covered
TopazA separate language and its compiler. Lispex uses it as a Topaz virtual machine that runs prepared instructions and as an AOT toolchain that compiles a rule ahead of time into a standalone program
LILA Lispex interpreter written in Lispex
LITA Lispex interpreter written in Topaz
WASMthe WebAssembly build

Ready? Open the Learning Path, or go straight to the First Program if you prefer to learn by running code.

Lispex · Lispex