|
Errata
for the book: Prolog - The standard
This page summarizes all remarks and errors discovered in the
book Prolog - The standard.
Please report additional errata by email to: AbdelAli.ED-DBALI (at) univ-orleans.fr
| Page number |
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 who pointed out most of these mistakes.
Many thanks also to George S. Cowan (ACM).
|