Language reference
Fifty-eight reserved words.
Fifty-eight reserved words.
The only other words allowed are the names you make up yourself and the values you write — like numbers and text.
No other words are part of the base language except user-provided names and literal values.
| Category | Words |
|---|---|
| Verbs | remember, show, filter, keep, count, gather, combine, each, choose, finish, add, remove, weakens, require, forbid, permit, assign, expect, sort, compare, transform |
| Connectives | where, and, or, from, with, called, to, how, as, of, if, otherwise, when, unless, includes, within, over, then, by, because, starting, until |
| Operators | is, above, below, not, plus, minus, reverse, inherited, plus equal/multiplied/divided for the equal to, multiplied by, and divided by phrases |
| Declarations | about |
| Articles | the, a, an |
| Syntax marker | : |
The newest three words describe the program itself rather than running: about names the topic, because records why a line exists, and inherited marks a line as carried over from a prior context. They show up when the program is read back, but never change what it does.
The Meta-Structural Era added three inert self-describing words — about (program topic declaration), because (statement-terminal quoted rationale), and inherited (statement-initial provenance modifier, with optional from <agent> attribution). All three are visible to rendering and inspect but never executed.
Four more words round out rules. forbid blocks something the way require demands it; permit simply records that something is allowed. starting and until give a rule a start date and an end date. The dates are just written down — the language stores them, a separate tool decides whether a rule is currently in force.
The Deontic Era added forbid (halts with PROHIBITION_VIOLATED on a true condition — the mirror of require) and permit (emits an informational line on a true condition, never halts), completing the require/forbid/permit triangle. The Temporal-Boundary Era added starting/until, statement-initial connectives attaching quoted ISO 8601 effective dates and sunset clauses as inert metadata; temporal evaluation is a product-layer concern, not interpreter runtime.
If you load a domain pack (an optional add-on), it can add more words — but only while it is loaded.
Domain packs may contribute additional words only while the pack is loaded.