**Packages**

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]

An infix synonym for fmap.
The name of this operator is an allusion to $. Note the
similarities between their types:
**Examples**

Convert from a `Maybe Int` to a `Maybe
String` using show:
`Either Int Int` to an
`Either Int` String using show:

($) :: (a -> b) -> a -> b (<$>) :: Functor f => (a -> b) -> f a -> f bWhereas $ is function application, <$> is function application lifted over a Functor.

>>> show <$> Nothing Nothing >>> show <$> Just 3 Just "3"Convert from an

>>> show <$> Left 17 Left 17 >>> show <$> Right 17 Right "17"Double each element of a list:

>>> (*2) <$> [1,2,3] [2,4,6]Apply even to the second element of a pair:

>>> even <$> (2,2) (2,True)

Using `ApplicativeDo`: '`fmap f as`' can be
understood as the `do` expression
`Functor` constraint.

do a <- as pure (f a)with an inferred