# :: (a -> b) -> [a] -> [b] -package:brittany -package:ghc-lib-parser -package:base-prelude -package:semigroupoids -package:graphviz -package:xmonad-contrib

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 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]
```
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, ...]
```
O(n). 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]
```
Using ApplicativeDo: 'fmap f as' can be understood as the do expression
```do a <- as
pure (f a)
```
with an inferred Functor constraint.
An infix synonym for fmap. The name of this operator is an allusion to \$. Note the similarities between their types:
```(\$)  ::              (a -> b) ->   a ->   b
(<\$>) :: Functor f => (a -> b) -> f a -> f b
```
Whereas \$ is function application, <\$> is function application lifted over a Functor.

#### Examples

Convert from a Maybe Int to a Maybe String using show:
```>>> show <\$> Nothing
Nothing

>>> show <\$> Just 3
Just "3"
```
Convert from an Either Int Int to an Either Int String using show:
```>>> 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)
```
An infix synonym for fmap. The name of this operator is an allusion to \$. Note the similarities between their types:
```(\$)  ::              (a -> b) ->   a ->   b
(<\$>) :: Functor f => (a -> b) -> f a -> f b
```
Whereas \$ is function application, <\$> is function application lifted over a Functor.

#### Examples

Convert from a Maybe Int to a Maybe String using show:
```>>> show <\$> Nothing
Nothing

>>> show <\$> Just 3
Just "3"
```
Convert from an Either Int Int to an Either Int String using show:
```>>> 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)
```
```map = fmap
```
map generalized to Functor.
```>>> map not (Just True)
Just False

>>> map not [True,False,True,True]
[False,True,False,False]
```