首页 > 解决方案 > 在 Scheme 的这种应用减少中,“let”来自哪里?

问题描述

在此处输入图像描述

在第二个等式中,我很难理解为什么会有“让”?let((ident) (expression) (expr0)) 不会减少到 expr0 吗?在我们的例子中,它会减少到 f(f(10)) 那么为什么它会重新出现在第二行呢?

我们刚开始在我的大学课程中学习函数式编程。

标签: functional-programmingscheme

解决方案


这似乎是采取的身份

(let ((x e)) body)

是相同的

((lambda (x) body) e)

let但是通过将 lambda 应用程序转换为表达式来以相反的方向运行它。我不觉得这个推导很有帮助,但它并没有错。


推荐阅读