状态与控制的完整跟踪模型
1. 转换规则
任何无 cont 和 ref 类型 $\sigma$ 的封闭值 $V$ 都可以分解为抽象值 $A$(模式)和相应的替换 $\gamma$(匹配)。所有此类分解的集合 $AVal_{\sigma}(V)$ 定义如下:
- 当 $\sigma \in {Unit, Bool, Int}$ 时,$AVal_{\sigma}(V) \triangleq {(V, \varnothing)}$
- $AVal_{\sigma \to \sigma’}(V) \triangleq {(f, [f \mapsto V]) | f \in FNames_{\sigma \to \sigma’}}$
- $AVal_{\sigma \times \sigma’}(\langle U, V \rangle) \triangleq {(\langle A_1, A_2 \rangle, \gamma_1 \cdot \gamma_2) | (A_1, \gamma_1) \in AVal_{\sigma}(U), (A_2, \gamma_2) \in AVal_{\sigma’}(V)}$
这里, · 表示函数域不相交, ⊎ 表示参数集不相交。
示例 :设 $\sigma = (Int \to Bool) \times (Int \times (Unit \to Int))$ 且 $V \equiv \langle \lambda x_{Int}.x \neq 1, \la
超级会员免费看
订阅专栏 解锁全文
3950

被折叠的 条评论
为什么被折叠?



