A minimal Lisp-like language interpreter in Haskell
A course project of Functional Programming at Tsinghua University in the fall semester of 2016.
- Purely functional
- Number, Boolean, pair types and built-in functions.
- Lexical scope (
- Fully functional lambda calculus
- No control flow with native Boolean type. (Use Church encoding, though you have to re-invent everything and you won't get neat output).
- No recursion. (Use Y combinator if you need recursion)
cd src cabal build dist/build/ki -i FILE # Interpret FILE and write result to stdout dist/build/ki --repl # Open in REPL mode
docs/README.md (Chinese) for details.
examples for sample programs.