Book picture

Errata for the book: Prolog - The standard

Last modified: May 29 2000





This page summarizes all remarks and errors discovered in the book Prolog - The standard.
Please report additional errata by mail to: AbdelAli.ED-DBALI@lifo.univ-orleans.fr
Page number Location Original text (if any) Correct text
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 Strean_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 Johnathan Hodgson who pointed out most of these mistakes.