Errata in Programming Languages: Principles and Practice, 3rd Edition

(ISBN-13: 978-1-111-52941-3)

Below are the errors that have been discovered in the first printing.  Please report any new errors to lambertk@wlu.edu.

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 535 8th line from the bottom of the page,
“insertIA(insertIA(createIA, 1), 2, 2)” should be
“insertIA(insertIA(createIA, 1, 1), 2, 2)” should be
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”

© Ken Lambert. All rights reserved.