foldl' -package:base is:exact -package:unordered-containers -package:aeson
foldl' is like foldl, but strict in the accumulator.
O(n) A strict version of
foldl.
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.
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.
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.
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) Left fold with strict accumulator.
Left fold with 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.
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
Strict left fold of the metadatas
Strict left fold over all key-value pairs in the headers map.
Example:
ghci> :set -XOverloadedStrings
ghci> import Data.Monoid
ghci> let hdrs = H.fromList [("Accept", "text/plain"), ("Accept", "text/html")]
ghci> let f (cntr, acc) _ val = (cntr+1, val <> ";" <> acc)
ghci> H.foldl' f (0, "") hdrs
(2,"text/html;text/plain;")