Subject: bug#20375: doc. error in v 2.0.11, Section 7.6.2.5

From: Matt Wette <[email-masked]>
Date: Sun, 19 Apr 2015 19:20:57 -0700

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