Expand description
副作用格(effect lattice)。
Lang::effect(id) 返回整棵子树的聚合效果(最坏情况),
节点自身贡献由 Lang::own_effect 给出,引擎按 worst(own, children) 聚合。
排序约定(全序简化):Pure < MayRead < MayThrow < MayWrite < Unknown。
Pure 蕴含无任何可观察效果且结果确定(同输入同值,可安全重求值/移动)。
MayRead 表示只读局部变量等确定值;局部变量读与调用之间没有未知写,
因为调用无法修改语言层的局部变量。