/mafi-lambda-calculus

Primary LanguageHaskellDo What The F*ck You Want To Public LicenseWTFPL

mafi-lambda-calculus

University project in Haskell. LC term reducing is not feature-complete, nor is it bug-free. Just as a heads up. I did not invest much time into it. :)

The parser, including the lambda calculus quasi quoter (see here for what quasi quotation is) should be complete and is possibly bug-free - the test suite is not comprehensive however.

This project enables you to do things like this in your source code:

[λ| (λx. x λy. x y) 5 |]

which during design/compile time evaluates to (and is therefore equivalent to writing):

App (Abs "x" (App (Var "x") (Abs "y" (App (Var "x") (Var "y"))))) (Var "5")

Cool, right?