Difference between revisions of "Functor"
From HaskellWiki
(Main article in category Functor) |
(Added section "More reading" with a link to "The functor design pattern") |
||
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|*]] |
[[Category:Functor|*]] |
Revision as of 18:52, 19 September 2012
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)