<div dir="ltr">Sadly liftM vs. liftA actually retains a useful distinction, one is a definition of fmap in terms of (>>=) and the other in terms of (<*>). <div><br></div><div>`ap` gives a default definition of (<*>) in terms of (>>=), but if someone instead writes <font face="monospace, monospace">(<*>) = liftM2 id</font> today, then erasing the distinction would turn that into a circular definition, transforming obviously-correct existant code silently into a _|_.<div><br></div><div><div>-Edward</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 24, 2015 at 8:36 PM, Dan Burton <span dir="ltr"><<a href="mailto:danburton.email@gmail.com" target="_blank">danburton.email@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What about the derived functions in Control.Monad, such as liftM? Shall we similarly relax their constraints to Applicative and consider them "legacy"? (<span></span>Did this already happen when I wasn't looking?)<div class="HOEnZb"><div class="h5"><br><br>On Thursday, September 24, 2015, John Wiegley <<a href="mailto:johnw@newartisans.com" target="_blank">johnw@newartisans.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">>>>>> Herbert Valerio Riedel <<a>hvr@gnu.org</a>> writes:<br>
<br>
> TLDR: To complete the AMP, turn `Monad(return)` method into a<br>
>       top-level binding aliasing `Applicative(pure)`.<br>
<br>
Very much +1.<br>
<br>
John<br>
_______________________________________________<br>
Libraries mailing list<br>
<a>Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote><br><br></div></div><span class="HOEnZb"><font color="#888888">-- <br>-- Dan Burton<br>
</font></span><br>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
<br></blockquote></div><br></div>