Reference
On Thu, 10 Sep 2026, by @lucasdicioccio, 177 words, 0 code snippets, 9 links, 1images.
Reference
These pages are generated straight from the specs in the tramaj repository — the repository is always the canonical source, and may be ahead of what’s published here.
How the documents relate: the language reference is the base, the Node JSON format encodes what it evaluates to, and v3 and v4 each extend it.

- Language reference — core AST, values, evaluation rules, surface syntax and its desugarings, imports, actions, builtins, and what’s implementation-defined. Start here.
- Node JSON representation — the normative
wire format for the evaluated
NodeAST. - v3 — Symbolic values and constraints —
?(key)allocation,!constraint(name, ...), and theSymbolicevaluation mode. - v4 — Types — the nominal type algebra, type parameters through imports, and typed annotations.
Two more documents exist only in the repository, not mirrored here since they’re development history rather than language reference:
laws.md— the design invariants, rewritten in prose on the Properties page.decisions.md— the resolved-conflicts log: which reading won wherever the design drafts disagreed, and why.
Earlier, superseded design drafts live under
specs/archive/,
kept for the reasoning in them rather than as current documentation.