[Haskell-beginners] folds -- help!
haskell at colquitt.org
Tue Mar 10 16:54:22 EDT 2009
Adrian Neumann wrote:
> Notice that there is no difference between
> foldr g a
> foldl f a
> (for appropriate g and f) if g and f are strict in both arguments.
Be careful... as apfelmus noted elsewhere in this thread, that's not (in
Prelude> foldr (^) 2 [3,5]
Prelude> foldl (^) 2 [3,5]
The reason? Integer exponentiation (^) isn't associative and
commutative. So the first is (3 ^ (5^2)) = 3^25, while the second is
((2 ^ 3) ^ 5) = 2^15.
More information about the Beginners