lisp中的lambda函数如何工作?

Noa*_*oah 3 lisp lambda functional-programming land-of-lisp

我在Land of Lisp中读到lambda函数是唯一的内置函数.但是我真的不明白这是怎么可能的,因为我认为你至少需要一个加法命令,一个用于比较数字,一个用于将数据从一个变量移动到另一个变量.我想知道是否有人可以向我解释lisp是如何做到的.我不是数学家,所以如果有可能你也可以在没有大量复杂数学的情况下解释它吗?

Cos*_*246 6

"Lisp之乡"在这里所说的不是lambda唯一的Lisp原语,而是(根据Alonzo Church的lambda演算,Lisp具有理论基础)可以实现Lisp的其余部分lambda,因为lambda演算是等价的通用图灵机.

对于大多数实际应用程序,lambda用于定义匿名函数.


Rai*_*wig 5

理论与实际编程语言之间存在差异.

Lisp接受了Lambda Calculus的想法,但没有实现它.lambda演算描述了使用函数进行计算的系统.理解Lambda微积分很有用,但是当你使用Lisp时,你不会用纯Lambda微积分编程.

作为一种编程语言,Lisp具有各种数据类型和操作(数字,字符串,字符,缺陷单元,符号,函数......).

将其与图灵机和编程语言C相比较.