Racket
The first third of the course uses Racket. Please install version 8.14 or later.
Suggested reading
- For Racket/functional programming basics: How To Design Programs
- For more Racket details: The Racket Guide by Matthew Flatt, Robert Bruce Findler, and PLT
- Programming Languages: Application and Interpretation by Shriram Krishnamurthi
OCaml
The second two thirds of the course uses Ocaml.
Suggested reading
- OCaml Programming: Correct + Efficient + Beautiful by Michael R. Clarkson et al.
OCaml Suggested Installation
I suggest following the University of Washington's CS341 Software Setup Instructions to install OCaml locally (along with OCaml's package manager, opam
, and build system dune
).