Software

We will use Racket as the implementation language and source language of our interpreters.

Installing Racket

Racket is available for all major operting systems from: https://racket-lang.org/

We will use Racket 8.11, but any version from past several years should work fine.

There are two essential references:

Racket is a large, full-featured, batteries-included language platform. However, we will be using only a small subset of Racket. This subset should be easy to pick up for anyone familiar with functional programming. If you’re comfortable with basic Haskell or JavaScript, you shouldn’t have much trouble learning the parts of Racket we will be using.

IDE

Racket comes with it’s own IDE: DrRacket, which is the recommended way to edit Racket files. We will also be running Racket and its associated tools from the command line. Using any other editor is fine, too.