[plt-scheme] Behavior of foldl
It seems that the behavior of foldl is non standard with respect to
most functional programming languages.
Il should be the iterative version of foldr, working from left to
right :
(define (foldl f e L)
(define (iter acc L)
(if (null? L)
acc
(iter (f acc (car L)) (cdr L))))
(iter e L))
> (foldl (lambda (x y) (+ (* 2 x) y)) 4 '(1 2 3))
43
But the fold defined in list.ss has not this behavior and returns 16.
See example 5 in http://www.zvon.org/other/haskell/Outputprelude/
foldl_f.html
Am i wrong ?
Jean-Paul Roy