Skip to content

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 &location takes its address.
  • *reference reads a value, while *reference = value replaces 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.

Norm 0.25