Norm 0.10
Norm 0.10 完成 value 存储位置引用的纵向语言实现。
语言
ref<T>表示非 nullable value 存储位置,&location取地址;*reference读取 value,*reference = value替换位置内容;- ref 复制保留位置身份,
==与!=比较位置; - 可寻址位置包括可写局部变量、参数和 class 的 value 字段;
- ref 只存在于局部变量和 callable 参数,不能通过返回、字段、容器、泛型、function type 或 lambda 捕获逃逸。
工具链
- Semantic、Bound 和 Core 使用独立引用类型与位置读写节点;
- Core 身份边界升级为 Schema V6 与 Language Semantics V6;
- Truffle 使用帧槽和对象字段作为位置身份,并保持 value 复制语义;
- parser、formatter、Language Server、VS Code 语法规则和跨 package 编译共享同一引用模型。
完整规则见 ref<T> 引用语法。