Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Interpreters and You

Slides, code samples, and notes on building programs with the interpreter pattern in Scala.

Copyright 2018 Dave Gurnell.

Text, diagrams, and slides licensed CC-BY-SA 4.0. Code samples licensed Apache 2.0


The /slides directory contains the slides used in my presentation at Scala Days 2018.

The /code directory contains different sample interpreters, implemented in reified and Church encoded styles.

The /text directory contains a short guide to writing interpreters in Scala. This is currently a work-in-progress that I hope to flesh out to cover the same content as the talk.

Building the Guide

Install Docker and use to boot an instance with most of the right dependencies:

bash$ cd text

bash$ ./

Use yarn to install the remaining dependencies:

docker$ npm intall -g yarn

docker$ yarn

Finally use sbt to build the guide. Choose one of the following commands:

docker$ sbt pdf

docker$ sbt html

docker$ sbt epub

docker$ sbt all
You can’t perform that action at this time.