Errata

Land of Lisp

Errata for Land of Lisp

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
PDF Page 18
3rd graf from bottom

URL for download of CLISP (http://http://clisp.cons.org/) returns the following message:

"This space is managed by SourceForge.net. You have attempted to access a URL that either never existed or is no longer active. Please check the source of your link and/or contact the maintainer of the link to have them update their records."

Alex Lane  Mar 03, 2011 
PDF Page 23
4

On page 23 in the PDF (also marked as page 3) in the first paragraph of "If Lisp Is So Great, Why Don't More People Use It?" header there is a url that do not work (or are removed).

When you go to http://snipurl.com/e3lv9/ you get:

This SnipURL does not exist.

Possible reasons:

1. We delete snips used in spam.
2. You have entered an incorrect address.
3. It was deleted by the user who snipped it.
SnipURL does not send you any email.
? SnipURL 2001 ? 2010

The error are also in the epub version.

Mastyroama  Nov 06, 2010 
PDF Page 56
Last paragraph

Example in text says:
> *arch-enemy*
JOHNNY

When trying out I got:
> *arch-enemy*
USELESS-OLD-JOHNNY

Anonymous  Nov 12, 2010 
PDF Page 59
second code block

There should be a * character at the end of the second line of the second code block -

> (defparameter *is-it-even* nil)
*IS-IT-EVEN

should be changed to

> (defparameter *is-it-even* nil)
*IS-IT-EVEN*

Aalhad saraf  Mar 26, 2017 
PDF Page 60
first code block on page

The following code block on the page has one extra closing parenthesis.

(if (and *file-modified*
(ask-user-about-saving))
(save-file)))

This has four opening parentheses and five closing parentheses in all.

side note: it does not result on an error in the console - actually, on trying with adding a large number of unmatched closing parentheses at the end, we still do not get an error.

Aalhad Saraf  Mar 26, 2017 
PDF Page 64
second line of code

The cons function requires two parameters, but only one is given.

(equal '(1 2 3) (cons 1 (cons 2 (cons 3))))

...should be...

(equal '(1 2 3) (cons 1 (cons 2 (cons 3 nil))))

I'm just learning this lisp stuff though, it's very possible I'm wrong.

Steve Bragg  Nov 28, 2010 
PDF Page 64
Second code exaple

Where in the book says
;;Identical lists created in different ways still compare as the same
> (equal '(1 2 3) (cons 1 (cons 2 (cons 3))))

should be

;;Identical lists created in different ways still compare as the same
> (equal '(1 2 3) (cons 1 (cons 2 (cons 3 nil))))

Executing the code I've got the following error message:
*** - EVAL: too few arguments given to CONS: (CONS 3)

My version of clisp
GNU CLISP 2.49 (2010-07-07)

Ricardo Soares de Lima  May 29, 2012 
Printed Page 80
First code block

Under "Now here's what we see when we use look:", it shows the output for the function look.

"YOU ARE IN THE LIVING-ROOM OF A WIZARD'S HOUSE"
The end of that sentence was never put in, so the actual output based on *nodes* from page 70 is "YOU ARE IN THE LIVING-ROOM."

"THERE IS A WIZARD SNORING LOUDLY ON THE COUCH."
The beginning of that sentence was not put in, based on *nodes* from page 70 it reads "A WIZARD IS SNORING LOUDLY ON THE COUCH."

JOSEPH PETRONE  Jan 08, 2018 
Printed Page 135
First code sample (between 3rd and 4th paragraph)

Please, add (defparameter *player-pos* nil) to the list, otherwise compiling the function new-game of page 144 will result in error.

(This happens in my SBCL)

Gustavo Nunes Martins  Dec 14, 2016 
178
3rd to last line in first code section.

(progn (princ "That monster is alread dead.")
should be:
(progn (princ "That monster is already dead.")

psykoTRON  Nov 24, 2010 
320
Left side of bottom

The announce-winner function is incorrectly marked as functional but is actually imperative.

psykoTRON  Dec 13, 2010 
PDF Page 352
code for my-length

In the code for my-length using the recurse macro, the code calls "f" which does not exist, it should be "self" as the recursive function is called in the macro.

Michael Pohl  Dec 11, 2011