[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Errata for Common Lisp manual
At the end of this message is my current list of "trivial" errata for
the Common Lisp manual. These are changes for problems that I regard as
either (a) simple typographical errors, or (b) ambiguities or
inconsistencies whose resolution is "obvious" and "noncontroversial".
As an example of an error for which a correction is not included here:
page 202 blithely states that "Mathematically, (lcm) should return
infinity." Wrong. Mathematically, the result should be 1, if anything.
(That's my fault, the result of fuzzy thinking.) The "obvious" fix is
to define (lcm) to return 1. However, that would not be merely a
textual correction, but a substantive change to the language possibly
requiring action by implementors, and it is not appropriate for me to
make such changes unilaterally.
--Guy
----------------------------------------------------------------
Corrections to first printing of Common Lisp: The Language
10 First two paragraphs should have monospace comma and colon,
respectively, at the left margin.
18 3.1010299957f-1 should be 3.010299957f-1 (first "1" should be deleted).
43 Table 43-1 should include the names "signed-byte" and "unsigned-byte".
67 The comment in (defun discriminant ...) is wrong, because the code
works for complex coefficients. Change the line
The quadratic equation a*x^2+b*x+c=0 has real, multiple
to be the two lines
If the coefficients a, b, and c are all real numbers, then
the quadratic equation a*x^2+b*x+c=0 has real, multiple
69 Top line, last word but one, should be "replace", not "replaces".
99 In first line of second paragraph, delete the italicized word "newvalue".
145 Three lines from the bottom, the term "&environment" should
appear at the left in monospace.
147 Last line on this page should be deleted; it duplicates first line
on page 148.
157 In third line, "declaration-form" should be "decl-spec" (in italics).
200 At the end of the first paragraph "returns the result." add the sentence
"It is an error if any argument other than the first is zero."
After "With one argument, / reciprocates the result" add the sentence
"The argument must not be zero."
204 Halfway down, the last line of a paragraph "#C(0.5 1.73205)."
should say "#C(1.0 1.73205)."
216 Alter "The divisor may be any non-complex number." to read
"The divisor may be any non-zero non-complex number."
216 Change "For example, (floor 5 2) @EQ (floor (/ 5 2)) ..." to
"For example, (values (floor 5 2)) @EQ (values (floor (/ 5 2))) ...".
[Actually, it would be better to rewrite this whole section, but this
fix at least makes it accurate.]
216 Before last paragraph, insert this new paragraph:
Note that while (floor 5 2) and (floor (/ 5 2)) return the same first
value, they return different remainders as the second value:
(floor 5 2) => 2 1
(floor (/ 5 2)) => 2 1/2
This is why @f[values] was used above in the remark that
(values (floor 5 2)) @EQ (values (floor (/ 5 2))).
276 Halfway down, in the display line before "See pushnew.", the phrase
"(fn item)" should be "(funcall fn item)", with "funcall" in monospace
and "fn" and "item" in italics as before.
307 In the header line for "defstruct", "{slot-description}+" should
be "{slot-description}*" (star instead of plus).
309 First paragraph should end "see section 19.6)." not "see section 19.6.";
there is a missing parenthesis.
325 The name of the variable "-" does not appear in the header line.
347-348 The page layout is a bit confused here; some connection should
be made between the description of ";" and the example.
349 Before the first complete paragraph, there should be a heading
line consisting of a single monospace backquote (accent grave).
349 In the first example of the use of backquote, the character
just before " (print ,x)" is a "t". (It is badly printed in several
copies.)
357 All occurrences of "constructor macro" should read "constructor function".
373 Third line from bottom: "print-array" in monospace should
be "*print-array*".
454 In index entry for "defun", first page number should be 67, not 57.
458 In index entry for "macrolet", page numbers should be 113-114 instead
of 93-94.
465 "zerop" is missing from the index (it is defined on page 195).
458 First reference for "macrolet" should be 113-114, not 93-94.
459 Add index entry "newline 20, 21-22, 235, 243, 336, 347, 378, 383, 384,
397".