CSE 341 -- Scheme -- Caveats

Differences among Scheme versions

Some students have asked if they can use different versions of Scheme at home. For this course, MIT Scheme (the version described in the "Wizard Book", Structure and Interpretation of Computer Programs) will be the reference implementation.

There are a few subtle differences between MIT Scheme and, e.g., Guile Scheme. One difference is that, in MIT Scheme, the empty list '() is eq? to the boolean value #f (false), whereas in Guile the two are not eq?. (Note: it is unwise to rely on either version of this behavior in any case. Use #f for boolean false, use '() for the empty list, and stay away from mixing the two.)

There are probably a few other minor differences that you will most likely not run into. Nevertheless, make sure your code runs correctly on MIT Scheme (available on the instructional Linux machines and the NT labs) before submitting it.