This is an implementation of lambda, a tiny lambda calculus interpreter, using WebAssembly.
Lambda Calculus syntax:
The three basic rules are easy:
(\x.x)
for abstractions(x y)
for applicationx
for variables
Additionally, parentheses can be omitted at outermost positions (e.g. \x.(x x) y
) and in abstraction bodies if the body is an abstraction (e.g \x.\y.(x y)
).
Try it out:
You can use Arrow Up / Down to scroll through your history of terms, ^L to clear the screen and create a permalink of the last term executed.