Ways to define lambda calculus

Among other great blog posts by Matt Might, a programming languages researcher and student of Olin Shivers, is a guide to strategies for implementing a programming language. It is based on strategies for defining programming language semantics. He presents an example of each, using Scala to implement the lambda calculus. Now I only need to learn Scala.