A denotational interpreter for a λ-calculus-based language
This is an implementation of a denotational interpreter for Lambdo, a lambda-calculus-based toy language. It implements top-level defines, closures over lambda expressions, letrec, let, set! and begin.
An S-Expression parser built using Scala's parser combinators is also provided.
The interpreter showcases some of Scala's useful features, such as custom patterns though function inverses.