Skip to content

Norm 0.14 ​

Norm 0.14 建立可独立演进的编译阶段契约,并将增量编译、内容存储和后端复用收敛到稳定身份边界。

编译器 ​

  • 语义分析由组合式 import、类型、表达式、Annotation、构造器流和可见性组件共同完成,产出唯一的不可变 SemanticModel;
  • 声明身份由文档、声明类别、名称和规范签名确定,空白与声明重排通过 token anchor 保持诊断和语义贡献映射;
  • 声明新增、删除和重载族变化按语义依赖失效,独立编译单元可并行处理,同一编译单元保持顺序提交;
  • Bound/Core 节点族由 bound-core-schema.json 定义并生成契约,sealed hierarchy 与遍历覆盖由构建测试校验;
  • 内建 intrinsic、运行时 shape 和异常 ABI 由 builtin-abi.json 定义,生成的 ABI 指纹参与后端可执行身份。

Core 与执行 ​

  • 产物身份拆分为公开 ABI、Core 代码、运行期 metadata、调试信息、可执行程序和发布组合,缓存按各自实际依赖失效;
  • standalone Truffle 后端按 ExecutableId 复用已 lower 的程序,源码位置通过当前 artifact 的 authoring sidecar 映射;
  • Core 规范化记录 component、refinement、搜索、memo 和 automorphism 剪枝指标,并对对称定义图保持确定结果;
  • 文件定义存储按内容分片协调写入,并在发布后以根目录容量边界串行回收。

迁移 ​

嵌入编译器的 Java 调用方应使用 dev.w0fv1.norm.abi 中生成的 ABI 类型,并按用途选择 PublicAbiId、CoreCodeId、MetadataId、DebugInfoId、ExecutableId 或组合 ArtifactId。

语言层继续提供 Norm 0.13 的 Annotation、reflection 和 std.validation 能力。编译阶段与身份边界见编译器架构。

Norm 0.25