Skip to content

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 语义和值声明语法。

Norm 0.25