We will be using Racket 6.10.1. You may download that version here. Note that we will test your code using the version of racket installed on tux. You are responsible for checking that your solution runs on tux.

Although Racket is a Scheme-derivative, it is not Scheme. Keep this is mind when you are reading SICP. See below for a discussion of some of the differences.

Racket Documentation

The main Racket web site can be found here. You may find the following documentation for version 6.10.1 useful

Racket Quick Start

You can enter the Racket REPL (read-eval-print loop) by typing racket on either tux or from within a terminal using the course VM. If you are using Racket this way, you will want to read about XREPL.

The course VM also provides a graphical interface, DrRacket, for working with Racket code. You can invoke DrRacket from the command line by typing drracket, from the launcher in the bottom-left corner of the screen (it looks like a red and blue yin-yang symbol), or from the Applications -> Programming menu in the upper-left corner of the screen.

The drracket command is available on tux as well, but you will need to forward your X connection to use it.

We highly recommend that you use DrRacket.

Debugging with DrRacket

DrRacket has a graphical debugger that lets you set breakpoints and step through code. There are also a number of racket functions that will help you debug your code. When debugging with DrRacket, you will find the following documentation useful:

Difference between Racket and Scheme

Unfortunately there is not a comprehensive list of the differences between Racket and Scheme. The following links discuss some of the key differences.