Lambda calculus implementation in scala.
The syntax of the lambda expressions will use \ for λ. There will be no spaces. Variables will be just a single letter. Parenthesis may be included as necessary. E.g. here is a legal input \x.(xx)a which would evaluate to 'aa'. The main program consists of a simple REPL loop that reads one line, parses it as a lambda expression, then prints the normal form of that expression.
Parser is implemented using Scala parser combinator library.
Evaluator follows the call-by-value evaluation rules from Pierce chapter 5. Evaluator performs alpha-renaming followed by beta substitutions recursively to arrive at the normal form.
Scala, Maven, Java
Use the following command: mvn clean install package
Use the following command: java -jar scalalambda.jar