<p dir="ltr">The semantics of foldl' for lists were changed between base 4.7 and base 4.8. Specifically, foldl' became strict in the initial value of its accumulator. I opened <a href="http://ghc.haskell.org/trac/ghc/ticket/12173">http://ghc.haskell.org/trac/ghc/ticket/12173</a> to report this. The change was entirely accidental, according to Joachim Breitner. However, Duncan Coutts indicated he is pleased with the change. I don't personally have a dog in this race, but I feel very strongly about three things:</p>
<p dir="ltr">1. The strictness should be fully documented, both in Haddock and the next Haskell Report (the Haskell 2010 Report does not go into sufficient detail to support either choice).</p>
<p dir="ltr">2. There should be *one* meaning of foldl' in base. Thus the default Foldable instance should match the ones for lists and arrays.</p>
<p dir="ltr">3. The containers package should be consistent with base in this regard.</p>