Implementation of various things from the textbook "Types and Programming Languages" by Pierce.
Currently contains interpreters for a pure lambda calculus, and simply-typed pure lambda calculus.
The lexer is written using a handrolled parser combinator library, the parser is written Pratt-style, and there is an algebraic data type library to help write the languages themselves.