All the code in the book, as a zip archive (211 Kb).
This code is tested under PLT Scheme versions 372 and 4.2. It should run unchanged in Racket 5.1.3 .
If you want to make it more consistent with current Racket code, remove the wrapping that says
(module name (lib "eopl.ss" "eopl") .... )around each file, and write #lang eopl at the top of the file instead. If the module says
(module name mzscheme .... )use #lang mzscheme instead (NOT #lang racket -- the syntax for require/provide is slightly different).
If you are feeling more adventurous, you can try to adapt the code base to use the rackunit testing framework instead of the kludgy one I threw together for the book. I am hoping to post a document about this soon.

This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.
Last modified: Wed Sep 14 12:22:12 EDT 2011