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.

Violation object shape (ISL v0.1)
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.