Thanks for this example I get the point now. (at least i think i do :) )<br><br>One more question.... This all being on the same category then the functor transformation can also be view as a simple morphism too.  In this example the listToMaybe can be viewed as morphism between list and Maybe types that are both in the Hask categroy too. right?     If so then what would viewing the morphism as natural transformation by you?  <br>
<br>Thanks,<br><br>Daryoush<br><br><br>P.S.  for others interested in the same topic I found this on Haskell wikis that add some more detail:  <a href="http://www.haskell.org/haskellwiki/Category_theory/Natural_transformation" target="_blank">http://www.haskell.org/haskellwiki/Category_theory/Natural_transformation</a><br clear="all">
<br><br><br><br><div class="gmail_quote">On Wed, Apr 22, 2009 at 3:40 PM, Ross Paterson <span dir="ltr">&lt;<a href="mailto:ross@soi.city.ac.uk">ross@soi.city.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wed, Apr 22, 2009 at 03:14:03PM -0700, Daryoush Mehrtash wrote:<br>
&gt; The Haskell Wikibooks also says the same thing:<br>
&gt;<br>
&gt;     Functors in Haskell are from Hask to func, where func is the<br>
&gt;     subcategory of Hask defined on just that functor&#39;s types. E.g. the<br>
&gt;     list functor goes from Hask to Lst, where Lst is the category<br>
&gt;     containing only list types, that is, [T] for any type T. The<br>
&gt;     morphisms in Lst are functions defined on list types, that is,<br>
&gt;     functions [T] -&gt; [U] for types T, U.<br>
<br>
</div>That&#39;s true, but not a particularly helpful view.  Any functor F : C -&gt; D<br>
can be viewed as a functor from C to the full subcategory of D on objects<br>
of the form F A for A an object of C.  But then different functors map to<br>
different categories and you can&#39;t talk about natural transformations<br>
between them.  Composing functors also becomes impossible.<br>
<br>
The simple view is that [], Maybe and Id are all functors from Hask to<br>
Hask.  Then listToMaybe :: [a] -&gt; Maybe a is a natural transformation<br>
from [] to Maybe, because<br>
<br>
        fmap f . listToMaybe = listToMaybe . map f<br>
<div><div></div><div class="h5">_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br><br clear="all"><br>