= Left fold
{title2=`foldl :: (b -> a -> b) -> b -> [a] -> b`}
A <list> reduction carrying an accumulator from left to right: `foldl s z [] = z` and `foldl s z (x:xs) = foldl s (s z x) xs`. In a lazy language this does not by itself force each intermediate accumulator; its association and evaluation strictness are separate issues. An infinite input spine prevents this operation from returning a result.<Haskell 2010 Language Report>[Chapter 9, Standard Prelude, definitions of foldl and foldl1]{ref}
Back to article page