Skip to content

underscoreio/essential-interpreters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Essential Interpreters

Written by Dave Gurnell and Noel Welsh. Copyright Underscore Consulting LLP, 2015-2017.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Overview

Essential Interpreters explores the functional programming uber-pattern, the interpreter, showing many different techniques for building interpreters in Scala.

Building

Advanced Scala uses Underscore's ebook build system.

The simplest way to build the book is to use Docker Compose:

  • install Docker Compose (brew install docker-compose on OS X; or download from docker.com); and
  • run go.sh (or docker-compose run book bash if go.sh doesn't work).

This will open a bash shell running inside the Docker container which contains all the dependencies to build the book. From the shell run:

  • npm install; and then
  • sbt.

Within sbt you can issue the commands pdf, html, epub, or all to build the desired version(s) of the book. Targets are placed in the dist directory: