Lambda 演算计划

问题描述

以下是将 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