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.

CategoryWords
Verbsremember, show, filter, keep, count, gather, combine, each, choose, finish, add, remove, weakens, require, forbid, permit, assign, expect, sort, compare, transform
Connectiveswhere, and, or, from, with, called, to, how, as, of, if, otherwise, when, unless, includes, within, over, then, by, because, starting, until
Operatorsis, above, below, not, plus, minus, reverse, inherited, plus equal/multiplied/divided for the equal to, multiplied by, and divided by phrases
Declarationsabout
Articlesthe, 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.