This page summarizes all remarks and errors discovered in the
book Prolog - The standard : Reference Manual.
Please report additional errata by email to: Ali.EDDBALI (at) univ-orleans.fr
| Page # | Location | Original text (if any) | Correct text |
|---|---|---|---|
| 10 | 2nd clause of sumlist predicate | sumlist([X,L],S) :- sumlist(L,R), S is R + X. | sumlist([X|L],S) :- sumlist(L,R), S is R + X. |
| 51 | Last line | atom_chars(X,[a|X]) | atom_chars(X,[a|L]). (Produces the same error) |
| 58 | How to use it | bagof(@term, +body_term, ?list) | bagof(?term, +body_term, ?list) |
| 59 | Line 1 (note 5) | The variables of Template and the non free variables of Bgoal remain uninstantiated after each success of bagof(Template, Bgoal, Blist). | The variables of Template and the non free variables of Bgoal which do not occur in Blist remain uninstantiated after each success of bagof(Template, Bgoal, Blist). |
| 71 | Example 2 | close(user_input). | close(user_input, []). |
| 79 | Last line | current_op(0,X,Y). domain_error(operator_priority,0) | This may not be required by the standard. A trully standard conforming example would be: current_op(-1,X,Y). It is in fact not clear in the standard whether 0 is an element of the operator priority. |
| 88 | How to use it | findall(@term, @body_term, ?list) | findall(?term, +body_term, ?list) |
| 93 | Description, item 4 | Arity is an integer n, 0 < n < maxarity | Arity is an integer n, 0 < n <= maxarity |
| 146 | Error cases | St in Error-term should be read Stream_or_alias | |
| 155 | Example 3 | Replace insect(A) by animal(A) and insect(_01) by animal(_01) | |
| 158 | Description, line 3 | autorzied | authorized |
| 160 | How to use it | setof(@term, @body_term, ?list) | setof(?term, +body_term, ?list) |
| 165 | Description, line 7 | repective | respective |
| 167 | Example 3 | north(a) @> foo(a, b). Succeeds. | north(a) @> foo(a, b). Fails. |
| 168 | Example 4 | north(a) @>= foo(a, b). Succeeds. | north(a) @>= foo(a, b). Fails. |
| 179 | Description, item 5 | 0 < n < maxarity | 0 < n <= maxarity |
| 182 | Examples | Add the following example | write('Fred'). Succeeds with empty substitution, and the current output stream is left as: ...Fred |
| 192 | Examples | Add the following example | writeq('Fred'). Succeeds with empty substitution, and the current output stream is left as: ...'Fred' |
The authors are very grateful to Dr.
Johnathan Hodgson, from Saint Joseph's University, who pointed out most of these mistakes.
Many thanks also to George S. Cowan (ACM).