lambda演算
根据维基百科,lambda演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义、函数如何被应用以及递归的形式系统。
语法 | 名称 | 描述 |
---|---|---|
a | 变量 | 表示参数或数学/逻辑值的字符或字符串 |
(λx.M) | 抽象化 | 函数定义(M是一个lambda项)。变量x在表达式中已被绑定。 |
(M N) | 应用 | 将函数应用于参数。 M 和 N 是 lambda 项。 |
lambda演算
(λf.f 3)(λx.x+2) = (λx.x + 2) 3 = 3 + 2
(λx.λy.x - y) 7 2 = (λy.7 - y) 2 = 7 - 2
Haskell
(\f -> f 3)(\x -> x+2) = (\x -> x+2) 3 = 3 + 2
(\x y -> x - y) 7 2 = (\y -> 7 - y) = 7 - 2