Norm 0.1
Norm 0.1 是基础计算版本,目标是让单个 .norm 文件能够运行常见算法和纯计算脚本。本文只记录已交付能力;语言手册、规范和标准库描述未来 1.0。
已实现
Integer、Boolean、String、变量、表达式和赋值;if / else、foreachfor、break与continue;- 顶层函数、递归、冒号命名参数和从左到右求值;
- class 字段、方法、字段命名构造、对象 identity 与
copy(); - 简单 enum;
- 无泛型的 Array、List、Map、Set、Stack、Queue、Deque、Pair、Range 和 StringBuilder;
- Java 前端、语义检查、Truffle AST 执行后端、CLI 和基础 LSP。
- GraalVM Native Image 独立 CLI,以及包含全部受支持平台同版本 CLI 的通用 VS Code 扩展。
Range 循环可以省略 Integer;无泛型容器的循环变量仍需显式类型。
未进入本版本
0.1 不包含模块、interface、继承、用户 value、泛型、nullable、switch、携带数据的 enum、异常、反射和 ref<T>。这些能力以 1.0 文档为设计目标,不属于 0.1 编译器承诺。
可执行规格
norm/tests 中的 65 个单文件程序构成版本验收集:30 个基础语法测试、30 个算法测试和 5 个 class 测试。每个程序都必须完成词法分析、解析、名称与类型检查,通过 Truffle 执行,并逐字匹配期望输出。
发布支持 Windows x64、Linux x64 与 macOS Apple Silicon。每个发布产物还必须通过独立 CLI 版本、Hello World、完整验收集和原生 LSP 握手检查;具体产物以发布流程为准。