<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;"><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"><span><div bgcolor="#FFFFFF" text="#000000"><div></div><div>



<title></title>


<p>You'd generalise it to:</p>
<p>fmap . fmap :: (Functor f, Functor g) => (a -> b) -> f
(g a) -> f (g b)</p>
<p>And then, would you do the same for Traversable, Foldable and
Applicative?</p>
<br>
<div class="moz-cite-prefix">On 18/08/16 03:43, Alex Belanger
wrote:<br></div>
<blockquote cite="mid:CADSky2xy7-rs9=jjf3DHSyESwnvWTXT0QF7kf5PB=dPsq1s3Rg@mail.gmail.com" type="cite">
<div dir="ltr">Hi,
<div><br></div>
<div>Some of you might be familiar with (.:) = (.) . (.).</div>
<div><br></div>
<div>It has type :: (c -> d) -> (a -> b -> c) -> a
-> b -> d</div>
<div><br></div>
<div>It allows the composition of two functions, the first one,
accepting one operand, and the second, two operands.</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>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.</div>
<div><br></div>
<div>Cheers,</div>
<div>Alex (nitrix).</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
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.
</pre></blockquote>
<br>


<hr>_______________________________________________<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.</div></div></span></blockquote></body></html>