# foldl'

Left-associative fold of a structure but with strict application of
the operator.
This ensures that each step of the fold is forced to Weak Head Normal
Form before being applied, avoiding the collection of thunks that
would otherwise occur. This is often what you want to strictly reduce
a finite structure to a single strict result (e.g.

sum).
For a general

Foldable structure this should be semantically
identical to,

foldl' f z = foldl' f z . toList

A strict version of

foldl.

foldl' is like foldl, but strict in the accumulator.

*O(n)*. A strict version of

foldl. Each application of the
operator is evaluated before using the result in the next application.
This function is strict in the starting value.

*O(n)*. A strict version of

foldl. Each application of the
operator is evaluated before using the result in the next application.
This function is strict in the starting value.

*O(n)*. A strict version of

foldl. Each application of the
operator is evaluated before using the result in the next application.
This function is strict in the starting value.

*O(n)*. A strict version of

foldl. Each application of the
operator is evaluated before using the result in the next application.
This function is strict in the starting value.

*O(n)* A strict version of

foldl.

*O(n)* Left fold with strict accumulator

Left fold with strict accumulator

Left fold with a strict accumulator

Left fold with a strict accumulator

*O(n)* Left fold with strict accumulator

*O(n)* Pure left fold with strict accumulator.

*O(n)* Pure left fold with strict accumulator.

*O(n)* Left fold with strict accumulator

*O(n)* Pure left fold with strict accumulator.

*O(n)* Left fold with strict accumulator

*O(n)* Pure left fold with strict accumulator.

*O(n)* Left fold with strict accumulator

*O(n)* Pure left fold with strict accumulator.

*O(n)* Reduce this map by applying a binary operator to all
elements, using the given starting value (typically the left-identity
of the operator). Each application of the operator is evaluated before
using the result in the next application. This function is strict in
the starting value.