Week of 16 February 1998

Because of President's Day, there are only two lectures this week. We are now studying Chapter 3 of EOPL . Wednesday's lecture covers Syntactic Abstraction (including let, letrec, and, or, cond, case, define-record, and variant-case). On Friday, we will discuss define-record, variant-case, parse trees, and data abstraction.

The midterm was returned on Wednesday: as a class, we need to work a bit harder as the average score was 58%. Midterm solutions are posted here.

Beginning with Section 3.4 (p. 79), you will need to load definitions for the special forms define-record and variant-case. (These are not standard features of Scheme, but they will prove to be very useful for us. Moreover, they demonstrate how easy it is to create new special forms.) During the next week, attempt the following:

  1. First create a local copy of the file mitmacros.scm (assuming that you are using MIT Scheme; if you are using Gambit use the file gambitmacros.s instead).
  2. Start emacs, and start the MIT Scheme interpreter in the usual way (M-x run-scheme)
  3. In either the interpreter of a scheme file buffer evaluate the Scheme expression:(load "mitmacros.scm")
  4. Practice the examples on pages 80 ­ 82.


CS 103 Home Page
Robert Snapp's Home Page