mapAccum package:rio
O(n). The function
mapAccum threads an accumulating
argument through the map in ascending order of keys.
let f a b = (a ++ b, b ++ "X")
mapAccum f "Everything: " (fromList [(5,"a"), (3,"b")]) == ("Everything: ba", fromList [(3, "bX"), (5, "aX")])
The
mapAccumL function behaves like a combination of
map
and
foldl; it applies a function to each element of a
ByteString, passing an accumulating parameter from left to right, and
returning a final value of this accumulator together with the new
list.
The
mapAccumR function behaves like a combination of
map
and
foldr; it applies a function to each element of a
ByteString, passing an accumulating parameter from right to left, and
returning a final value of this accumulator together with the new
ByteString.
The
mapAccumL function behaves like a combination of
map
and
foldl; it applies a function to each element of a
ByteString, passing an accumulating parameter from left to right, and
returning a final value of this accumulator together with the new
ByteString.
The
mapAccumL function behaves like a combination of
fmap and
foldl; it applies a function to each element of
a structure, passing an accumulating parameter from left to right, and
returning a final value of this accumulator together with the new
structure.
The
mapAccumR function behaves like a combination of
fmap and
foldr; it applies a function to each element of
a structure, passing an accumulating parameter from right to left, and
returning a final value of this accumulator together with the new
structure.
O(n). The function mapAccumR threads an accumulating
argument through the map in descending order of keys.
O(n). The function
mapAccumWithKey threads an
accumulating argument through the map in ascending order of keys.
let f a k b = (a ++ " " ++ (show k) ++ "-" ++ b, b ++ "X")
mapAccumWithKey f "Everything:" (fromList [(5,"a"), (3,"b")]) == ("Everything: 3-b 5-a", fromList [(3, "bX"), (5, "aX")])
O(n) Like a combination of
map and
foldl'.
Applies a function to each element of a
Text, passing an
accumulating parameter from left to right, and returns a final
Text. Performs replacement on invalid scalar values.
The
mapAccumR function behaves like a combination of
map
and a strict
foldr; it applies a function to each element of a
Text, passing an accumulating parameter from right to left, and
returning a final value of this accumulator together with the new
Text. Performs replacement on invalid scalar values.
The
bimapAccumL function behaves like a combination of
bimap and
bifoldl; it traverses a structure from left to
right, threading a state of type
a and using the given
actions to compute new elements for the structure.
The
bimapAccumR function behaves like a combination of
bimap and
bifoldl; it traverses a structure from right
to left, threading a state of type
a and using the given
actions to compute new elements for the structure.