【发布时间】:2021-08-09 19:13:58
【问题描述】:
我的 lambda 演算课程从未定义真/假运算符,并以我无法逆向工程的方式使用它们。这里有两个例子:
问题 1. 以下表达式的计算结果是什么?
(tru 2 3) (add 4) 2
答案:
- 2
- 3
- 4
- 6
- 8
- 10
我的尝试:(tru 2 3) 返回第一项,即 2。然后将 4 添加两次,总共得到 10。所以 6) 就是答案。
问题 2. 以下表达式的计算结果是什么?
fls succ plus 2 3
答案:
- 2
- 3
- 4
- 5
- 6
我的尝试:plus 2 3 返回 5。succ 5 返回 6。而 false 没有任何作用。所以答案是 5)。
我不太担心这些问题的答案,而是更愿意了解如何在任何表达式中使用tru fls。我只是不明白它们如何与数字一起使用。
【问题讨论】:
标签: lambda-calculus