Haskell语言学习笔记(79)lambda演算

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

猜你喜欢

转载自www.cnblogs.com/zwvista/p/9272732.html