【发布时间】:2011-09-04 08:24:26
【问题描述】:
我正在研究Types and Programming Languages,而 Pierce,对于按价值减少策略的调用,给出了术语 id (id (λz. id z)) 的示例。内部 redex id (λz. id z) 首先减少到 λz. id z,在外部 redex 减少到正常形式 λz. id z 之前,第一次减少的结果是 id (λz. id z)。
但是按值顺序调用被定义为“仅减少最外层的redex”,并且“仅当redex 的右侧已经减少为一个值时才减少redex”。在示例中,id (λz. id z) 出现在最外层 redex 的右侧,并且被缩小。这与仅减少最外层redexes 的规则有何关系?
“最外层”和“最内层”的答案是否仅指 lambda 抽象?因此,对于λz. t 中的术语t,t 不能减少,但在redex 中s t,t 减少为值v,如果可能的话,然后s v减少了吗?
【问题讨论】:
标签: lambda-calculus operator-precedence reduction