内存语义
Norm 规定可观察的值和身份,不规定对象布局或内存管理算法。具体赋值规则由 Value 与 Identity 语义 定义。
可观察行为
- value 在赋值、传参和返回后逻辑独立;
- class 操作共享对象身份;
class.copy()创建新的顶层对象身份;- value 结构相等,class 按身份相等;
- 实参和子表达式按源码从左到右求值。
实现可以使用 eager copy、写时复制、结构共享和逃逸分析。优化不能改变上述行为。
生命周期
程序不手动释放普通值或 class 实例。仍可达的对象必须保持有效;外部资源通过显式作用域 API 管理。内存不足和栈溢出不要求能被普通程序可靠恢复。
ref<T> 的可寻址位置、逃逸限制与词法生命周期由引用规则统一定义。