<p dir="ltr">(f a b) still doesn't make a lot of sense, I assume (a -> b) was meant in that argument type.</p>
<div class="gmail_quote">On Mar 3, 2016 21:13, "Rein Henrichs" <<a href="mailto:rein.henrichs@gmail.com">rein.henrichs@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Ben, I just assumed that g was a typo for f.</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Mar 3, 2016 at 10:10 AM Ben Rogalski <<a href="mailto:bwrogalski@gmail.com" target="_blank">bwrogalski@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">I'm having trouble understanding this:</p>
<p dir="ltr">> IIUC, one would describe fmap as "lifting" a function g into a functor f,<br>
> in the sense of<br>
><br>
> Functor f => (g a b) -> g a -> g b<br>
><br>
><br>
> Is there an inverse concept (? co-lift ?) that describes<br>
><br>
> Functor f => (g a -> g b) -> a -> b<br>
></p>
<p dir="ltr">It seems like these are type declarations for functions, with class constraints that say f must be a Functor, but then f doesn't appear anywhere else in the declaration. Why is this?</p>
<p dir="ltr">Thanks,<br>
-Ben</p>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div>