Skip to content

Norm 0.15 ​

Norm 0.15 建立标准库系统能力的统一运行时边界,并交付文件读取、时间与 I/O 基础类型的第一条完整纵向链路。

系统运行时 ​

  • SystemPlatform 是后端无关的平台能力入口,platform-jdk 提供 JDK 文件系统与时钟实现,CLI 在应用组合根完成注入;
  • ExecutionContext 使用 builder 组合输入输出、参数、取消、模块发布和平台能力,不依赖全局 service locator;
  • system intrinsic、opaque value、opaque resource 与 ResourceScope 统一承载宿主调用和外部资源生命周期;
  • builtin-abi.json 定义 intrinsic 与系统异常映射,生成的领域 ABI 驱动运行时构造可捕获的 Norm Exception;
  • 平台 adapter 将宿主失败归一化为带强类型 operation 和 reason 的平台异常,Truffle 边界再转换为对应 Norm 领域异常。

标准库 ​

  • std.system.SystemException 提供稳定错误 code,系统层操作失败统一抛出领域 Exception;
  • std.io 提供 IOException、Bytes、ReadChunk、Resource 和显式 TextEncoding;
  • std.filesystem 提供名义 Path、FileException 与 UTF-8 readText;
  • std.time 提供 canonical Duration、Instant、显式 Clock、systemClock() 与 TimeException;
  • Bytes、Duration 和 Instant 通过唯一工厂校验并构造私有实现,避免公共构造路径和类型身份分叉。

执行与验收 ​

JDK adapter、fixed clock、平台失败映射、opaque dispatch、资源清理和异常捕获均有聚焦测试。标准库验收程序通过真实 JVM 与 CLI 执行文件读取、时间、字节、读取结果和资源关闭路径。

迁移与边界 ​

嵌入执行器的 Java 调用方应通过 ExecutionContext.builder() 组合上下文,并在使用系统 intrinsic 时提供 SystemPlatform。0.15 的文件系统能力仅包含 UTF-8 文本读取;文件流、写入、目录操作、网络、进程、HTTP 和并发能力属于后续版本。

系统分层和后续扩展规则见系统运行时架构。

Norm 0.25