lambda 演算问题 - 具体
我有以下问题,
(f.x.f(f x))(y.y+1) = x.(y.y+1)((y.y+1) x)
= x.(y.y+1)(x+1)
= x.x+1+1
我不明白为什么最后一次转换可以? 不应该是x.(y.y+1)(x+1)= y+1
吗?为什么他能摆脱y
I have the following
(f.x.f(f x))(y.y+1) = x.(y.y+1)((y.y+1) x)
= x.(y.y+1)(x+1)
= x.x+1+1
I don't understand why is it ok the last transformation?
Shouldn't it be x.(y.y+1)(x+1)= y+1
? Why can he get rid of the y
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
(y . y + 1)
应用于其参数(x + 1)
,因此用它替换y
得到( (x + 1) + 1)
。我不明白你是如何想出
x 的。 (y . y + 1)(x + 1)= y + 1
。y
仅存在于内部函数的范围内。(y . y + 1)
is applied to its argument(x + 1)
, so it's substituted fory
to give((x + 1) + 1)
.I don't see how you come up with
x . (y . y + 1)(x + 1)= y + 1
.y
only exists in the scope of the inner function.