Norm 0.10
Norm 0.10 completes the vertical implementation of references to value storage locations.
Language
ref<T>identifies a non-nullable value storage location, and&locationtakes its address.*referencereads a value, while*reference = valuereplaces the stored value.- Copying a ref preserves location identity;
==and!=compare locations. - Writable locals, parameters, and value-typed fields of class instances are addressable.
- Refs are confined to locals and callable parameters and cannot escape through returns, fields, containers, generics, function types, or lambda capture.
Toolchain
- Semantic, Bound, and Core use dedicated reference types and location operations.
- Core identity advances to Schema V6 and Language Semantics V6.
- Truffle uses frame slots and object fields as location identities while preserving value-copy semantics.
- The parser, formatter, Language Server, VS Code grammar, and cross-package compiler share the same reference model.
See the ref<T> reference rules for the complete contract.