【问题标题】:What is the leftost-innermost term in a lambda expression?lambda 表达式中最左边的项是什么?
【发布时间】:2018-07-16 08:49:18
【问题描述】:

假设有这样一个 lamda 术语:

如果你通过应用策略(最左-内)来减少它,第一步是减少len的delta:

下一步是什么?我是否要减少外部 lambda 项?

或者我要减少 delta-reduce zero

后者在我看来是正确的,因为外部 lambda 项不正常,zero 是它的最左内项。

【问题讨论】:

    标签: lambda-calculus operator-precedence


    【解决方案1】:

    纯 lambda 演算不识别函数名称(换句话说:所有函数都是匿名的),因此 delta-reductions 并不真正适用于 beta-reduction 过程,它们不会影响 求值(即 beta 减少)顺序。

    在任何情况下,您都不需要对 zero 进行 delta-reduce,因为表达式的左侧不能单独进行 beta-reduce - 如果您先继续,那就更清楚了(cons one nil) zero (λxr.succ r).

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多