LDC-E2120 — An aggregate argument the shape does not allow
What it means
Section titled “What it means”Aggregate calls take a fixed set of arguments: the collection, an emptiness policy on some of them, and rounding controls on one of them. Each of these has its own place — a positional triple means rounding and belongs to averaging alone, an emptiness policy never applies to counting, and unknown names fit nowhere. When an argument lands where the shape has no slot for it, the compiler refuses the call at the call site.
The rule behind every refusal is the same: an option the evaluator would silently ignore must not be writable. Dropping the misplaced argument, or moving the policy to the argument the shape provides for it, clears the refusal.
Example
Section titled “Example”language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Order;relation amount(x: Order, a: Integer) kind empirical;relation big(x: Order) kind institutional;rule T strict { for x: Order; when amount(x, 1) and (count(collect y: Order where amount(y, 1), empty: 0) > 0); then big(x); }language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Order;relation amount(x: Order, a: Integer) kind empirical;relation big(x: Order) kind institutional;rule T strict { for x: Order; when amount(x, 1) and (count(collect y: Order where amount(y, 1)) > 0); then big(x); }Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.