| Page  64 | Last code segment, last line, 
   (map cadr let-form)))))
   should be 
   (map cadr (cadr let-form)))))
    | 
   | Page  90 | in the equation "(λ x . 1 1 x)" 
   should be "(λ x . + 1 x)" | 
   | Page  90 | "such as (1 1 x) are written" 
   should be "such as (+ 1 x) are written" | 
   | Page  91 | first paragraph first line close to the end: "functions like 1 and *" should be "functions like + and *" | 
   | Page  93 | second paragraph second line close to the end, "Since 1 is curried" should be "Since + is curried". Also in the equation after this paragraph, the last character ("1") should be "+" | 
   | Page  95 | Exercise 1, in the phrase "the power ab", the character "b" should be superscripted (ab). | 
   | Page 105 | Line 5 of Example 1, "21 is a natural number" should be "-1 is a natural number" | 
   | Page 105 | Last line of code in Example 1, "(21)" should be "(1)" | 
   | Page 106 | Last paragraph before Example 2, 21 should be -1 | 
   | Page 108 | code in middle of page: "yes: y 5 2" 
   should be "yes: y = 2" | 
   | Page 111 | Last line: -1 should be subscripted, as in "bi-1" | 
   | Page 118 | Third line: there should be a space between 3 and . | 
   | Page 124 | 2nd line in code box, "I =< X" 
   should be "1 =< X" | 
   | Page 127 | 3rd line from bottom: 21 should be -1 | 
   | Page 150 | Figure 5.1, Character class should be a subclass of Magnitude class | 
   | Page 156 | In the ">" method, first line after comment, "aNumber)" 
   should be "aNumber realPart)" | 
   | Page 158 | Last line in code box, there should be 3 space characters
   between "i" and "t" | 
   | Page 213* | Middle of the page:
   "where E 1 E is the set ..."
   should be
   "where E + E is the set ..." | 
   | Page 230* | last paragraph:
   "Given a string a of tokens and nonterminals,"
   should be
   "Given a string 
   α 
   of tokens and nonterminals," | 
   | Page 232* | first full paragraph, several occurences of α typset
   incorrectly. The paragraph should read: 
      We can formalize the condition in the following way.
      For any string 
      α 
      of tokens and nonterminals that appears on the right-had side of a
      grammar rule, define
      Follow(α)
      to be the set of tokens that can follow
      α.
      The second condition for predictive parsing can now be stated
      in terms of Follow sets. Given a grammar rule in EBNF
      with an optional
      α:
    | 
   | Page 232* | middle of the page:
   "Thus, Follow(expr) 5 { ( , $ }."
   should be
   "Thus, Follow(expr) = { ( , $ }." | 
   | Page 535 | 8th line from the bottom of the page, 
   insertIA(insertIA(createIA, 1), 2, 2)
   should be 
   insertIA(insertIA(createIA, 1, 1), 2, 2)
    | 
   | Page 536 | Third line from the top, 
   insertIA(insertIA(A, i, j), k, m) = insertIA(insertIA(A, k, m), i, j)
   should be 
   insertIA(insertIA(A, i, j), k, m) = insertIA(insertIA(A, k, m), i, j)
   if i != k or j = m
    |