map -package:containers -package:bytestring -package:blaze-html -package:dlist -package:basement -package:conduit -package:psqueues -package:os-string -package:text -package:regex-tdfa -package:unordered-containers -package:vector -package:dense-linear-algebra

Apply a function to each element of a Stream, lazily
map f xs is the list obtained by applying f to each element of xs, i.e.,
map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
map f [x1, x2, ...] == [f x1, f x2, ...]
>>> map (+1) [1, 2, 3]
[2,3,4]
Map a function over all values in the map.
Map a function over a NonEmpty stream.
Transform the original string-like value but keep it case insensitive.
O(n) map f xs is the ShortByteString obtained by applying f to each element of xs.
O(n) map f xs is the ShortByteString obtained by applying f to each element of xs.
Fold pairs into a map.
Generates a map using a Range to determine the length. This may fail to generate anything if the keys produced by the generator do not account for a large enough number of unique items to satify the required map size.
Apply a bijection over a list using map.
O(n) Transform this map by applying a function to every value.
Apply a function to all values flowing downstream
map id = cat

map (g . f) = map f >-> map g
Map a function over a Stream
A Map from keys k to values a. The Semigroup operation for Map is union, which prefers values from the left operand. If m1 maps a key k to a value a1, and m2 maps the same key to a different value a2, then their union m1 <> m2 maps k to a1.
Type-level fmap for type-level functors. Note: this name clashes with Map from containers. FMap is provided as a synonym to avoid this.

Example

>>> data Example where Ex :: a -> Example  -- Hide the type of examples to avoid brittleness in different GHC versions

>>> data AddMul :: Nat -> Nat -> Exp Nat

>>> type instance Eval (AddMul x y) = (x TL.+ y) TL.* (x TL.+ y)

>>> :kind! Ex (Eval (Map (AddMul 2) '[0, 1, 2, 3, 4]) :: [Nat])
Ex (Eval (Map (AddMul 2) '[0, 1, 2, 3, 4]) :: [Nat]) :: Example
= Ex [4, 9, 16, 25, 36]