Book errata - index

Programming in Prolog


Book: Programming in Prolog, Fourth Edition, first printing (paperback)
ISBN: 3-540-58350-5

Official book website (no errata page at present)

Status: I emailed William Clocksin and Chris Mellish with a copy of this errata list on 2003-09-14, and they acknowledged it on 2003-09-23 and 2003-09-27 respectively, confirming that these are errors which weren't corrected in the Fifth Edition of the book.


Page 3:

Minor typo - "we have but the object that is liked in the second slot" should say "we have put the object that is liked in the second slot".

Page 151:

Where the text says "The goal split(H,T,L,M) partitions the list [H|T] into L and M", it should say "The goal split(H,T,L,M) partitions the tail T into L and M". In other words, the goal only divides the tail, and not the list consisting of head H and tail T.

Page 183:

When it says "provided that there are offspring facts in the database, such as...", this is technically correct. However, it later turns out (on p187) that there is only one other fact:
I would say that in this case, it's better to just list all 4 facts, rather than saying "Here is an incomplete list of 3". Also, on page 187, it says "As can be seen, this is Abraham's last possible descendant." You can't see this from the information provided previously in the textbook, since we are only now told that there aren't any other relevant facts. This is linked to my previous comment - if the list of facts on p183 was exhaustive, then the reader could work out (without being told) that Jacob was Abraham's last descendent.

Page 193:

(E) should say: "append(Z1,[b],Z)"
i.e. "b" should replace "a".

This page was last updated on 2003-12-31 by John C. Kirk

Valid XHTML 1.0! Valid CSS! Level Double-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0 Labelled with ICRA