LDC-E1344 — Transition on a non-event name
For LLMs5 sections
What it means
Section titled “What it means”A transition fires on a carrier: the on clause must name an event or
an action declaration, the only types that occur in a history. A name
that resolves to a relation, a constant, or anything else names no
carrier — the transition could never occur — so the compiler stops at
the name.
The repair is to declare the event or action, or to point the clause at one that exists. A transition over a real carrier fires exactly when its history says so.
Example
Section titled “Example”language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Tenant;relation paid(t: Tenant) kind institutional;procedure Review(t: Tenant) { state Open initial; state Closed terminal; transition Decide { from Open; to Closed; on paid; }}language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Tenant;relation paid(t: Tenant) kind institutional;event Filed { tenant: Tenant;}procedure Review(t: Tenant) { state Open initial; state Closed terminal; transition Decide { from Open; to Closed; on Filed; }}Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.