Functor
From HaskellWiki
(Difference between revisions)
m |
(Added section "More reading" with a link to "The functor design pattern") |
||
| (5 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| - | {{Standard class|Functor|module=Control.Monad|module | + | {{Standard class|Functor|module=Control.Monad|module-doc=Control-Monad|package=base}} |
The '''Functor''' class is defined like this: | The '''Functor''' class is defined like this: | ||
| Line 9: | Line 9: | ||
fmap id = id | fmap id = id | ||
fmap (p . q) = (fmap p) . (fmap q) | fmap (p . q) = (fmap p) . (fmap q) | ||
| + | |||
| + | |||
| + | == More reading == | ||
| + | |||
| + | * [http://www.haskellforall.com/2012/09/the-functor-design-pattern.html The functor design pattern] | ||
| + | |||
| + | |||
| + | |||
| + | [[Category:Functor|*]] | ||
Current revision
| import Control.Monad |
The Functor class is defined like this:
class Functor f where fmap :: (a -> b) -> f a -> f b
All instances of Functor should obey:
fmap id = id fmap (p . q) = (fmap p) . (fmap q)
