[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.

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

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,