map -package:containers -package:base-prelude -package:basement -package:aeson -package:psqueues -package:base-compat-batteries -package:base-compat -package:insert-ordered-containers -package:imports -package:conduit -package:invertible -package:ghc -is:exact -package:bytestring -package:blaze-html -package:os-string -package:hedgehog -package:monoidal-containers -package:pipes -package:text -package:unordered-containers -package:vector -package:filepath -package:incipit-base

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 a NonEmpty stream.
Transform the original string-like value but keep it case insensitive.
Apply function to every element of matrix
map f xs is the DList obtained by applying f to each element of xs. <math>(length (toList xs)). map obeys the law:
toList (map f xs) = map f (toList xs)
map f xs is the DNonEmpty obtained by applying f to each element of xs. <math>(length (toNonEmpty xs)). map obeys the law:
toNonEmpty (map f xs) = map f (toNonEmpty xs)
Fold pairs into a map.
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]
Hash-table, based on STM-specialized Hash Array Mapped Trie.
Invariant preserving version of Map from the containers packages, suitable for use with Uniplate. Use toMap to construct values, and fromMap to deconstruct values.
Monadic variant of mapAccumL.
The mapMaybe function is a version of map which can throw out elements. In particular, the functional argument returns something of type Maybe b. If this is Nothing, no element is added on to the result list. If it is Just b, then b is included in the result list.

Examples

Using mapMaybe f x is a shortcut for catMaybes $ map f x in most cases:
>>> import Text.Read ( readMaybe )

>>> let readMaybeInt = readMaybe :: String -> Maybe Int

>>> mapMaybe readMaybeInt ["1", "Foo", "3"]
[1,3]

>>> catMaybes $ map readMaybeInt ["1", "Foo", "3"]
[1,3]
If we map the Just constructor, the entire list should be returned:
>>> mapMaybe Just [1,2,3]
[1,2,3]