<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">Of course I meant to write ((->) e)</div> <br><p class="airmail_on">On 17 August 2016 at 22:39:36, Csongor Kiss (<a href="mailto:kiss.csongor.kiss@gmail.com">kiss.csongor.kiss@gmail.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div></div><div>




<title></title>



<div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;">
<div id="bloop_customfont" style="margin: 0px;">Can you provide a
bit more detail on why you think (fmap . fmap) captures</div>
<div id="bloop_customfont" style="margin: 0px;">the concept behind
(.) . (.) ? </div>
<div id="bloop_customfont" style="margin: 0px;">It certainly does
generalise it in one way - and I do get how, but is it the *right*
generalisation?</div>
<div id="bloop_customfont" style="margin: 0px;"><br></div>
<div id="bloop_customfont" style="margin: 0px;">Or does it just
coincide with (-> e)’s fmap being defined as (.), and in fact we
would prefer to</div>
<div id="bloop_customfont" style="margin: 0px;">generalise the
composition aspect, in which case Category would be a more
‘obvious’ place to look?</div>
</div>
<br>
<p class="airmail_on">On 17 August 2016 at 22:15:56, Tony Morris
(<a href="mailto:tonymorris@gmail.com">tonymorris@gmail.com</a>)
wrote:</p>
<blockquote type="cite" class="clean_bq">
<div bgcolor="#FFFFFF" text="#000000">
<div>
<p><span>You'd generalise it to:</span></p>
<p><span>fmap . fmap :: (Functor f, Functor g) => (a -> b)
-> f (g a) -> f (g b)</span></p>
<p><span>And then, would you do the same for Traversable, Foldable
and Applicative?</span></p>
<span><br></span>
<div class="moz-cite-prefix"><span>On 18/08/16 03:43, Alex Belanger
wrote:<br></span></div>
<blockquote cite="mid:CADSky2xy7-rs9=jjf3DHSyESwnvWTXT0QF7kf5PB=dPsq1s3Rg@mail.gmail.com" type="cite">
<div dir="ltr"><span>Hi,</span>
<div><span><br></span></div>
<div><span>Some of you might be familiar with (.:) = (.) .
(.).</span></div>
<div><span><br></span></div>
<div><span>It has type :: (c -> d) -> (a -> b -> c)
-> a -> b -> d</span></div>
<div><span><br></span></div>
<div><span>It allows the composition of two functions, the first
one, accepting one operand, and the second, two
operands.</span></div>
<div><span><br></span></div>
<div><span>This appears to be a very common pattern, referenced a
bit everywhere, almost always defined on lambdabot and found in
multiple codebases in the wild.</span></div>
<div><span><br></span></div>
<div><span>I'd like the know the general sentiment about this
operator, as well as how its inclusion in base, probably
Data.Function, would be perceived before I actually try to make it
happen.</span></div>
<div><span><br></span></div>
<div><span>Cheers,</span></div>
<div><span>Alex (nitrix).</span></div>
</div>
<span><br></span>
<fieldset class="mimeAttachmentHeader"></fieldset>
<span><br></span>
<pre wrap=""><span>_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
<a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a>
Only members subscribed via the mailman list are allowed to post.
</span>
</pre></blockquote>
<span><br></span>
<hr>
<span>_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe<br>
Only members subscribed via the mailman list are allowed to
post.</span></div>
</div>
</blockquote>


</div></div></span></blockquote></body></html>