Skip to content

在线演绎 λ-Calculus

不妨试试自己写一些 Lambda 表达式!下面是预定义的常用的表达式:

Y = λf.(λx.f (x x)) λx.f (x x)
I = λz.z
T = λx.λy.x
F = λx.λy.y
O = λf.λx.x
S = λn.λf.λx.f (n f x)
P = λn.λf.λx.n (λg.λh.h (g f)) (λu.x) λu.u
One = λf.λx.f x
Two = λf.λx.f (f x)
Plus = λn.λm.λf.λx.n f (m f x)
Mul = λn.λm.λf.λx.n (m f) x
Exp = λn.λm.n (Mul m) One
IfThenElse = λe.λx.λy.e x y
IsZero = λn.n (λx.F) T
Fact = λf.λn.IsZero n One (Mul n (f (P n)))

尝试在下方输入框中写一些 Lambda 表达式。点击下划线部分可以化简表达式,可以使用预定义的表达式,点击预定义表达式的别名可以将其展开。 可以猜猜看这个表达式在计算什么~