Norm 0.8
Norm 0.8 completes the vertical implementation of user-defined values.
Language
valueis 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.