【发布时间】:2018-07-16 08:49:18
【问题描述】:
假设有这样一个 lamda 术语:
如果你通过应用策略(最左-内)来减少它,第一步是减少len的delta:
下一步是什么?我是否要减少外部 lambda 项?
或者我要减少 delta-reduce zero?
后者在我看来是正确的,因为外部 lambda 项不正常,zero 是它的最左内项。
【问题讨论】:
标签: lambda-calculus operator-precedence
假设有这样一个 lamda 术语:
如果你通过应用策略(最左-内)来减少它,第一步是减少len的delta:
下一步是什么?我是否要减少外部 lambda 项?
或者我要减少 delta-reduce zero?
后者在我看来是正确的,因为外部 lambda 项不正常,zero 是它的最左内项。
【问题讨论】:
标签: lambda-calculus operator-precedence
纯 lambda 演算不识别函数名称(换句话说:所有函数都是匿名的),因此 delta-reductions 并不真正适用于 beta-reduction 过程,它们不会影响 求值(即 beta 减少)顺序。
在任何情况下,您都不需要对 zero 进行 delta-reduce,因为表达式的左侧不能单独进行 beta-reduce - 如果您先继续,那就更清楚了(cons one nil) zero (λxr.succ r).
【讨论】: