**map** -base -text -bytestring

*O(n*min(n,W))*. map f s is the set obtained by applying f to each element of s.
It's worth noting that the size of the result may be smaller if, for some (x,y), x /= y && f x == f y
*O(n)*. Map a function over all values in the map.
> map (++ "x") (fromList [(5,"a"), (3,"b")]) == fromList [(3, "bx"), (5, "ax")]

*O(n)*. Map a function over all values in the map.
> map (++ "x") (fromList [(5,"a"), (3,"b")]) == fromList [(3, "bx"), (5, "ax")]

*O(n*log n)*. map f s is the set obtained by applying f to each element of s.
It's worth noting that the size of the result may be smaller if, for some (x,y), x /= y && f x == f y
*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")])
*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")])
*O(n)*. The function mapAccumR threads an accumulating argument through the map in descending order of keys.

*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)*. 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")])
Constructs a new array derived from the original array by applying a function to each of the elements.

Apply a function to transform the result of a continuation-passing computation.
* (mapCont f m) = f . runCont
Apply a function to transform the result of a continuation-passing computation.
* (mapContT f m) = f . runContT
*O(n)*. Map values and separate the Left and Right results.
> let f a = if a < "c" then Left a else Right a
> mapEither f (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
> == (fromList [(3,"b"), (5,"a")], fromList [(1,"x"), (7,"z")])
>
> mapEither (\ a -> Right a) (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
> == (empty, fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
*O(n)*. Map values and separate the Left and Right results.
> let f a = if a < "c" then Left a else Right a
> mapEither f (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
> == (fromList [(3,"b"), (5,"a")], fromList [(1,"x"), (7,"z")])
>
> mapEither (\ a -> Right a) (fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
> == (empty, fromList [(5,"a"), (3,"b"), (1,"x"), (7,"z")])
Show more results