Skip to content

内存语义 ​

Norm 规定可观察的值和身份,不规定对象布局或内存管理算法。具体赋值规则由 Value 与 Identity 语义 定义。

可观察行为 ​

  • value 在赋值、传参和返回后逻辑独立;
  • class 操作共享对象身份;
  • class.copy() 创建新的顶层对象身份;
  • value 结构相等,class 按身份相等;
  • 实参和子表达式按源码从左到右求值。

实现可以使用 eager copy、写时复制、结构共享和逃逸分析。优化不能改变上述行为。

生命周期 ​

程序不手动释放普通值或 class 实例。仍可达的对象必须保持有效;外部资源通过显式作用域 API 管理。内存不足和栈溢出不要求能被普通程序可靠恢复。

ref<T> 的可寻址位置、逃逸限制与词法生命周期由引用规则统一定义。

Norm 0.25