深入理解 Lambda 演算:从基础到应用
1. 历史背景
Lambda 演算(λ - 演算)是计算机科学中最著名的形式模型之一。它是函数式编程的基础,就像图灵机是命令式编程的基础一样。这两个系统是等价的,都可用于阐述和研究关于可解性和可计算性的基本问题。
- 起源 :1924 年,Moses Sch¨onfinkel 引入了组合逻辑,1930 年 Haskell B. Curry 独立重新表述了它。组合逻辑是基于组合子(实际上是高阶函数)的计算模型,可在 λ - 演算中表示。1932 - 1933 年,逻辑学家 Alonzo Church 最初开发了 λ - 演算,将其作为数学的基础。
- 发展 :1936 年,Stephen C. Kleene 表明 λ - 演算是一个通用计算系统,即 λ - 可定义的数值函数恰好是部分递归函数。1937 年,Alan M. Turing 证明了 λ - 演算和图灵机定义的函数类是一致的。最初的 λ - 演算是无类型的,20 世纪 40 年代开发的带类型的 λ - 演算解决了无类型带来的问题。如今,带类型的 λ - 演算被认为是更基础的理论,因为原始的无类型演算可以看作是只有一种类型的特殊情况。
- 应用 :从 20 世纪 60 年代起,λ - 演算被用于多个与编程语言相关的研究项目。例如,Peter Landin 用 λ - 演算分析 Algol 60,并引入了 ISWIM 语言作为未来语言的框架。SECD 解释器用于实现 ML 语言。20 世纪 70 年代,Christopher Wadsworth
超级会员免费看
订阅专栏 解锁全文
155

被折叠的 条评论
为什么被折叠?



