The Language
The whole language, one keyword at a time.
Program has only a handful of keywords; everything interesting comes from the modules, not the language. Here is every one, with a brief description and a link to its own page. An indented row is a sub-keyword that appears only inside the keyword above it.
Keywords
This is the full keyword list.
| Keyword | What it does |
|---|---|
ROOT | The whole program: the top-level modules, native setup, and the run body that actually executes. |
CALL | A function called on its own line, without a keyword — a statement in any run or reverse body. |
MODULE | A named namespace; nests to any depth and holds a module's declarations. |
FUNCTION | A forward, derived function: typed inputs, a body, and a return. |
INPUT | A typed parameter of a function; the BINDING modifier makes it two-way — read and written back. |
HOLE | A callback parameter: a gap the caller fills with a block. |
NATIVE | A per-target block of native host code — a function or type implementation, or setup that runs at the Root or a module's start. |
TYPE | A named type: a record of fields or a union of options. |
FIELD | A named, typed member of a record. |
OPTION | One variant of a union; reads back as an Optional. |
LET | Bind a name to a derived value; it recomputes reactively. |
STATE | A reactive cell, the only place a value really changes; the LOCKED modifier marks it as maybe pending or carrying an error. |
REVERSE | A write-back block: what happens when a value is written. |
SET | Pushes a value into outer state; the last line of a reverse. |
WITH | Temporarily swaps a module's implementation for another over an indented block. |
Full syntax
The whole grammar — every keyword rule and the shared inner rules they draw on — now lives under Internals · Grammar, alongside how the parser reads it.