Norm 0.8
Norm 0.8 完成用户定义 value 的纵向语言实现。
语言
value是仅在顶层声明头生效的上下文关键字;- value 支持字段、方法、泛型和 interface conformance;
- value 字段构造后不可赋值;
- 赋值、传参、返回和字段读取保持逻辑独立;
- equality 与 hash 递归使用字段的语言内建语义,value 可以作为 Map key 和 Set 元素。
工具链
- SemanticModel 使用 value category 表达类型语义;
- Core definition、namespace ABI 和运行时类型保存相同的 value category;
- Core 身份边界升级为 Schema V4 与 Language Semantics V4;
- Truffle 在统一值语义入口完成复制、相等与 hash;
- formatter、Language Server、单文件程序和跨 package 项目共享同一声明与类型模型;
- 项目加载、模块图和标准库引导统一使用强类型模块描述,CLI、LSP 与运行时不再维护平行项目模型;
- VS Code 的本地开发包与正式发布包共用发布目标清单和验收入口。
完整规则见 Value 与 Identity 语义和值声明语法。