isl-lang.org / spec / semantics
ISL Semantics
Status: Draft — v0.1
Source: isl-lang/spec/semantics.md
ISL adopts a static-first evaluation model: constraints that can be resolved
without program execution are checked at parse time by a conforming tool; those
that depend on runtime values are deferred to a runtime hook injected by the
ISL runtime library. A constraint that raises an unhandled exception during
evaluation is treated as a violation of severity RUNTIME_ERROR rather than
silently passing, ensuring that evaluation failure is never invisible. The
violation object produced by any failed constraint carries a stable error code,
the source location of the originating constraint expression, the actual and
expected values where applicable, and a human-readable message. Error codes are
namespaced under the ISL- prefix and are stable across minor versions of the
specification; a code retired in a future version will be aliased to its
replacement for at least two minor versions before removal.
interface ISLViolation {
code: string; // e.g. "ISL-E001"
severity: 'ERROR' | 'WARNING' | 'RUNTIME_ERROR';
message: string;
location: { file: string; line: number; column: number };
expected?: unknown;
actual?: unknown;
} The full operational semantics — including the formal denotational model, reduction rules, and interaction with host language type systems — are maintained in the spec repository. This page is a generated mirror.