A SkillsCast for this session is not available.
Interpreters aren't just for programming language enthusiasts---they are the pattern underlying many of the most fun and compelling applications of Scala, such as Twitter's Stitch and our own Doodle graphics library. An interpreter arises whenever you separate the description of a computation from the process that carries it out. This separation allows you to change the semantics of the program, for instance adding caching in Stitch or applying artistic effects in Doodle. In fact you can view almost all of the patterns in functional programming as variations of the theme of interpreters.
In this workshop you will learn the main ways of writing interpreters, covering as many methods as time allows. References to applications will be shared along the way, while working on a simple example to ground the theory.
Code and setup instructions are available in this Github repo
You should have a laptop, your development environment of choice, and a good level of understanding of Scala.
YOU MAY ALSO LIKE:
Workshop: Building Interpreters in Scala
Noel Welsh
Noel has been interested in computers for a long time, particularly the leverage that computers give to people. He followed this interest to a PhD in machine learning, focusing on Bayesian nonparametrics and reinforcement learning. He still finds machine learning very interesting, but right now is more involved with programming and programming languages. A large part of his work is helping people become more effective with functional programming.