Skip to content

Norm 0.8 ​

Norm 0.8 completes the vertical implementation of user-defined values.

Language ​

  • value is contextual only in a top-level declaration header;
  • values support fields, methods, generics, and interface conformance;
  • value fields cannot be assigned after construction;
  • assignment, parameter passing, returns, and field reads preserve logical independence;
  • equality and hash recursively use language field semantics, allowing values as Map keys and Set elements.

Toolchain ​

  • SemanticModel carries the value category;
  • Core definitions, namespace ABI, and runtime types preserve the same category;
  • Core identity advances to Schema V4 and Language Semantics V4;
  • Truffle centralizes copying, equality, and hash behavior;
  • the formatter, language server, single-file programs, and cross-package projects share the same declaration and type model;
  • project loading, module graphs, and standard-library bootstrap share typed module descriptors across the CLI, language server, and runtime;
  • local VS Code packages and release packages use the same release-target manifest and acceptance entrypoints.

The complete rules are defined by value and identity semantics and value declaration syntax.

Norm 0.25