一 λ演算
λ 演算可以被称为最小的通用程序设计语言:它包括一条变换规则 (变量替换) 和一条函数定义方式,λ演算之通用在于,任何一个可计算函数都能用这种形式来表达和求值。
λ演算可以是有类型的也可以是无类型的,仅仅当输入的的数据类型对于有类型的λ演算函数来说是可以接受的时,有类型的λ演算函数才能被使用。
☆λ演算中最关键的要素就是函数被当作变量处理,能够参与运算。
一个现象:
(λx.x 3)(λx.2+x)
依次代 (λx.2+x)进函数(λx.x 3),根据前面的介绍,任何形式λx的函数都可以接受其他函数作为参数。得到
λx.2+x 3
继 续将3代入函数λx.2+x得到2+3=5
原来是一个常数,是不是很有趣,这神奇之处就在于λ演算允许函数可以像变量一个样的传递然后继续运算。
最原始的λ演算的三个公理: