Skip to content

Norm 0.11 ​

Norm 0.11 completes the vertical implementation of nominal exceptions and structured exception control flow.

Language ​

  • std.core.Exception is the class root of every throwable exception.
  • throw accepts non-nullable, non-generic Exception subtypes.
  • try supports ordered catch clauses and an optional finally clause.
  • Catch selection uses the dynamic type, with specific types preceding general types.
  • Finally covers normal, return, throw, break, and continue completions and may replace the prior completion.
  • Toolchain runtime failures retain separate error codes and are not intercepted by user catches.

Toolchain ​

  • Syntax, Semantic, Bound, and Core use dedicated exception-control nodes and catch-local bindings.
  • Core identity advances to Schema V7 and Language Semantics V7.
  • Truffle preserves exception object identity, nominal inheritance matching, source locations, and guest stacks.
  • The parser, formatter, Language Server, VS Code grammar, and cross-package compiler share the same exception model.

See the error model and exception control-flow syntax for the complete rules.

Norm 0.25