Home
Resources

TSPL4 Errata

First Printing

Page viii (reported by Yaakov Eisenberg):

The title of Section 11.1 should be "Raising and Handling Exceptions" rather than "Raising and Handing Exceptions."

Page 3 (reported by Yaakov Eisenberg):

The second-paragraph phrase "because the efforts" should read "because of the efforts."

Page 6 (reported by Yaakov Eisenberg):

The word "the" should not appear before "Common Lisp's syntactic extension facility."

Page 39 (reported by Glen Salisbury):

In the text before the second definition of reciprocal on this page, the phrase "usually to report the error" should read "usually preferable to report the error."

Page 122 (reported by Yaakov Eisenberg):

The final word in the first sentence of Section 5.6 should be "computation," not "continuation."

Page 124 (reported by the author):

In the description of dynamic-wind, the phrase "must be procedures of no arguments, i.e., thunks," should read "must be procedures and should accept zero arguments, i.e., they should be thunks."

Page 168 (reported by github:@ocyzl):

In the description of mantissa widths, "The mantissa width m may appear" should read "The mantissa width w may appear."

Page 190 (reported by github:@ocyzl):

In the description of bitwise-arithmetic-shift, "right by exint2 bits" should read "right by -exint2 bits."

Page 192 (reported by github:@ocyzl):

In the lead-in paragraph of the section titled "Fixnums," [-2w-1,2w-2 - 1] should read [-2w-1,2w-1 - 1].

Page 215 (reported by Jamie Taylor):

In the description of char-foldcase, the examples showing a return value of #\G should show a return value of #\g, and the example showing a return value of <graphic> should show a return value of <graphic>.

Page 215 (reported by Bob Burger):

In the description of integer->char, the range <graphic> should read <graphic>.

Page 216 (reported by github:@ocyzl):

The description of string syntax says that any Unicode character can be inserted with the syntax #\xn;. This should read \xn;.

Page 217 (reported by anonymous reader, via publisher):

The description of string-ci=?, etc., says that these procedures are case-sensitive. In fact, they are case-insensitive.

Page 220 (reported by github:@ocyzl):

The restrictions on substring's start and end arguments have been corrected tor read, "start must be less than or equal to end, while end must be less than or equal to the length of string."

Page 222 (reported by Jamie Taylor):

In the description of string-titlecase, the input of the final example should be "R6RS" rather than "r6rs", which is redundant with the preceding example.

Page 230 (reported by github:@ocyzl):

In the second paragraph of the description of bytevector-copy!, "with the n bytes of dst" should read "with the n bytes of src."

Page 238 (reported by github:@ocyzl):

In the descriptions of the bytevector->uint-list and bytevector->uint-list return values, "size-bit" should read "size-byte."

Page 241 (reported by github:@ocyzl):

The description of symbol syntax says that any Unicode character can be inserted with the syntax #\xn;. This should read \xn;.

Page 242 (reported by github:@ocyzl):

The description of symbol->string says, "Unpredicatable behavior can result if a string passed to string->symbol is altered ..." While this is true, the text should instead read, "Unpredicatable behavior can result if a string returned from symbol->string is altered ..."

Page 244 (reported by Aaron Hsu):

In the description of make-hashtable, the procedure name in the second prototype should be "make-hashtable" rather than "make-eqv-hashtable."

Page 261 (reported by Yaakov Eisenberg):

In the third paragraph of the description of file-options, the final occurrence of "truncate" should be in typewriter font.

Page 272 (reported by the author):

In the description of call-with-port, "call-with-output-file" should be replaced with "call-with-port."

Page 281 (reported by the author):

In the description of call-with-input-file, the phrase "returns the value" should read "returns the values."

Page 282 (reported by the author):

In the description of call-with-output-file, the phrase "returns the value" should read "returns the values."

Page 283 (reported by the author):

In the description of with-input-from-file, the phrase "returns: the value" should read "returns: the values."

Page 283 (reported by the author):

In the description of with-output-to-file, the phrase "returns: the value" should read "returns: the values." Also, the text "thunk must be a procedure and should accept zero arguments" should be added to the end of the first paragraph of the description.

Page 285 (reported by Yaakov Eisenberg):

In the description of display, the sentence:

With display, the three-element list (display "(a b c)") and the two-element list (display '("a b" c)) both print as (a b c).

should read:

With display, the three-element list (a b c) and the two-element list ("a b" c) both print as (a b c).

Page 295 (reported by github:@ocyzl):

In the description of syntax-rules vector patterns, "F is a vector of n or more elements" should read "F is a vector of n elements."

Page 298 (reported by Dennis Küpper):

The final sentence of Section 8.2 should refer to page 307, not 306.

Page 316 (reported by Dennis Küpper):

In the first sentence of the last paragraph one of the occurrences of "treat" should be removed.

Page 323 (reported by Yaakov Eisenberg):

In the sentence preceding the second definition of point, "y remains mutable" should read "y remains immutable."

Page 326 (reported by Yaakov Eisenberg):

A comma should appear following the parenthetical remark in the second-to-last paragraph.

Page 330 (reported by Dennis Küpper):

In the first sentence, the phrase "the generated uid can be the name" should read "the generated uid can be the uid."

Page 330 (reported by Dennis Küpper):

In the description of the parent-rtd clause, "make-record-constructor-descriptor" should be in typewriter font.

Page 346 (reported by github:@ocyzl):

In the description of the for import specification keyword, the word "importing" should be "imported" in the sentence that reads "If code is intended for use with systems that do not automatically determine when a library's bindings must be made available, however, the for must be used if the importing library's bindings would not otherwise be available at the right time."

Page 348 (reported by github:@ocyzl):

In the description of the <= import specification keyword, ">= form" should read "<= form."

Page 351 (reported by github:@ocyzl):

In the description of the first example in Section 10.4, the three occurrences of $member? should be member-help?.

Page 352 (reported by Dennis Küpper):

In the first sentence after the first display, "moresetops" should read "more-setops." Also, in the last sentence, "options" should also read "more-setops."

Page 357 (reported by Yaakov Eisenberg):

The title of Section 11.1 should be "Raising and Handling Exceptions" rather than "Raising and Handing Exceptions."

Page 428 (reported by Yongming Shen):

In Exercise 12.11.2, (do-complete value ticks) should read (do-complete ticks value).

Page 429 (reported by Yongming Shen):

In Exercise 12.11.3, (do-complete value (stop-timer)) should read (do-complete (stop-timer) value).

Page 456 (reported by the author):

In the first full paragraph, the word "delimited" should be replaced with "delimited by."

Page 458 (reported by the author):

In the grammar for strings, each of the letters a, b, f, n, r, t, and v should be prefixed by a backslash, e.g., \a.

Page 474 (reported by Aaron Hsu):

The third make-eqv-hashtable entry on this page should be an entry for make-hashtable, and should appear below the other entry for make-hashtable on the same page.