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-8readText;std.time提供 canonicalDuration、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 和并发能力属于后续版本。
系统分层和后续扩展规则见系统运行时架构。