Ship

Lexicon · Exception row

Exception row

Structural row on the exception channel. Inferred by default from fallible callees, validated construction, and relative callbacks; bubbles via auto-propagation until match, try, or a fn! seal.

exception Name = [ ... ] declares a structural row, not a nominal identity. Equal tags and payloads deduplicate; conflicting payloads are a type error. A singleton exception type is naked (exn ParseFailure). Structural tags and row operations are bracketed (exn [ :missing ], exn [ ParseFailure | TimeoutFailure ]).

Partial handling subtracts matched tags; unlisted tags propagate. error rest allowed but not the recommended default. Impossible error :tag arms are compile errors.

See error-channel.md and ../08-errors.md.