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 applicationxfor 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.