抽象 λ 演算机器:原理与操作全解析
1. 抽象 λ 演算的基础拓展
在抽象 λ 演算中,对于 n 个嵌套的归约式,存在这样的通用形式:
[
@ \cdots @
\underbrace{\phantom{@ \cdots @}} {n}
\Lambda \cdots \Lambda
\underbrace{\phantom{\Lambda \cdots \Lambda}} {n}
@ e_a e_b e_1 \cdots e_n =
@ @ \cdots @
\underbrace{\phantom{@ @ \cdots @}} {n}
\Lambda \cdots \Lambda
\underbrace{\phantom{\Lambda \cdots \Lambda}} {n}
e_a e_1 \cdots e_n
@ \cdots @
\underbrace{\phantom{@ \cdots @}} {n}
\Lambda \cdots \Lambda
\underbrace{\phantom{\Lambda \cdots \Lambda}} {n}
e_b e_1 \cdots e_n
]
这种形式被称为大规模 β 分布。通过递归地将 β 归约式置于抽象体的子表达式之前,可以延迟 β 归约,直到真正需要时才执行。
接下来,我们将大规模 η 扩展和大规模 β 分布与合适的归约策略相结合。这一策略源于对 Λ 表达式语法的特定视角,强调所谓的头形式: <
超级会员免费看
订阅专栏 解锁全文
37

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



