The reference manual for guile 2.0.11 has an error in  Section 7.6.2.5 on rnrs 
lists.  The statement "identical to the fold ..." is not quite correct.  The 
section says:

fold-left combine nil list1 list2 . . . [Scheme Procedure] fold-right combine 
nil list1 list2 . . . [Scheme Procedure] These procedures are identical to the 
fold and fold-right procedures provided by SRFI-1. See Section 7.5.3.5 [SRFI-1 
Fold and Map], page 556, for documentation. 


In section 7.5.3.5, the manual says:
(fold cons ’() ’(1 2 3)) [...] (3 2 1)


But, fold-left does not work like fold: the arguments to the procedure to 
fold-left are reversed with respect to fold:.

 guile i2.0.11correctly gives the following:

(fold-left cons '() '(1 2 3)) => (((() . 1) . 2) . 3)

(fold-left xcons '() '(1 2 3)) => (3 2 1)


 Matt





Reply via email to