A SkillsCast for this session is not available.
This workshop will explore patterns for writing interpreters in Scala. It will start with basic untyped interpreters, and then cover monadic interpreters, GADTs, and free monads and applicatives as time and interest allows.
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 is a founder of ScalaBridge London, and a Scala consultant at Inner Product and Underscore. In his day job he helps companies large and small achieve more with Scala. Outside of work he’s interested in generative art and machine learning.