Expand description
Structs§
- Atom
- An atom is the triple
(subject, predicate, object?)— the unit of identity — optionally qualified by a domain (physics.engine has fuel).Creature_A has flyingandCreature_A has swimmingare DIFFERENT atoms. - Literal
- A literal is an atom, optionally negated (
NOT ...). - Located
- Container for data associated with its source location.
- Program
- A parsed program: a flat sequence of statements.
Enums§
- Body
- The body of an
PREMISEorRULE. - Close
Kind - Which closure a
CLOSEstatement applies to a relation. - Conn
- How the literals in a
WHEN/THENgroup combine. A single-literal group is alwaysConn::And(the connective is irrelevant with one literal). - ListOp
- List constraint operators (body of a list-style
PREMISE). - Quant
- A
FOR EACHquantifier on aPREMISE/RULEheader. It instantiates the premise’s whole body once per element, substituting the binder. The quantifier lives in the header (not the body), so there is exactly one per statement and the body grammar is untouched — a secondFOR EACHis structurally unrepresentable, which is what bounds the desugar to a linear number of clauses (no domain products). - Statement
- A top-level statement.
Type Aliases§
- Span
- Source code fragment with line and column tracking.