12 lines
576 B
HTML
12 lines
576 B
HTML
<h2>Haskell Functor vs \(\Hask\) Functor</h2>
|
|
|
|
<p>A Haskell Functor is a type <code>F :: * -> *</code> which belong to the type class <code>Functor</code> ; thus instantiate
|
|
<code>fmap :: (a -> b) -> (F a -> F b)</code>.
|
|
|
|
<p><span style="visibility:hidden">&</span> <code>F</code>: \(\ob{\Hask}→\ob{\Hask}\)<br/> & <code>fmap</code>: \(\hom{\Hask}→\hom{\Hask}\)
|
|
|
|
<p>The couple <code>(F,fmap)</code> is a \(\Hask\)'s functor if for any <code>x :: F a</code>:</p>
|
|
<ul><li><code>fmap id x = x</code>
|
|
</li><li><code>fmap (f.g) x= (fmap f . fmap g) x</code>
|
|
</li></ul>
|