问题描述
以下是将 lambda 函数的外观“映射”到它在方案中的编写方式的正确方法吗?
(λx.x+1) 5 ↦ (lambda (x) (+ x 1) 5)
此外,lambda 函数是如何在正式表示法中“命名”的?是否有与此相对应的内容:
加一个 = (λx.x+1)
解决方法
(λx.x+1)5 是参数 5 的应用。在 Scheme 代码中,这相当于:
((lambda (x) (+ x 1)) 5)
此处的 (lambda (x) (+ x 1))
构成了函数,必须将它放在函数调用上下文中,方法是将其用参数括在括号中。
就形式符号的命名而言,这不是 lambda 演算的特性。在文本中经常发现使用某种标识符符号来方便组合的表达;在这些情况下,似乎通常首选非常简单的标识符。这实际上是数学符号,而不是编程符号。这两个我都看过:
A ≡ λx.x+1
A = λx.x+1