LDC-E8303 — Overlapping rows disagree under hit any
For LLMs5 sections
What it means
Section titled “What it means”A decision table with an any hit policy tolerates overlapping rows, but only when the overlapping rows agree on the output: any of them may fire, and the answer must not depend on which one does. When two rows can both match the same input yet produce different outputs, the answer would depend on the choice, so the compiler stops at the later row and names both rows involved.
Giving both rows the same output — or narrowing the guards until they no longer overlap — is the fix.
Example
Section titled “Example”language "law.core" version "0.2";package demo.diag version "0.1.0";namespace "urn:law:demo:diag";
decision Any(x: Integer) -> Integer { table hit any { when x >= 1 => 7; when x >= 1 => 8; otherwise => 0; }}language "law.core" version "0.2";package demo.diag version "0.1.0";namespace "urn:law:demo:diag";
decision Any(x: Integer) -> Integer { table hit any { when x == 1 => 7; when x >= 1 => 7; otherwise => 0; }}Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.