I'd strongly discourage removing <$> from Control.Applicative, as it has been there since the start and basically every single client of Control.Applicative would break and have to add a second import.<br><br>The idiom of foo <$> bar <*> baz <*> ... is the whole point of using an Applicative after all!<br>
<br>I laud the goal of everything having exactly one place to be, but here I think practical considerations override.<br><br>-Edward Kmett<br><br><div class="gmail_quote">On Thu, Apr 8, 2010 at 4:07 PM, Bas van Dijk <span dir="ltr"><<a href="mailto:v.dijk.bas@gmail.com">v.dijk.bas@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">On Thu, Apr 8, 2010 at 9:38 PM, Isaac Dupree<br>
<div class="im">> This parallelism also suggests to me that <$$> should be placed (only) in<br>
> Control.Applicative, which is where <*>, <$>, and <**> reside. Yeah, I know<br>
> that's annoying...<br>
<br>
</div>That's indeed annoying.<br>
<br>
What about removing <$> and <$ from Control.Applicative?<br>
<br>
One advantage is that this reduces the complexity tax of Control.Applicative.<br>
<br>
One disadvantage is that this will surely break some code. Especially<br>
because, for some weird reason, Data.Functor is not know to hoogle.<br>
<br>
<a href="http://haskell.org/hoogle/?q=Data.Functor" target="_blank">http://haskell.org/hoogle/?q=Data.Functor</a><br>
<br>
And <$> is reported to be only exported by Control.Applicative<br>
<br>
<a href="http://haskell.org/hoogle/?hoogle=%3C%24%3E" target="_blank">http://haskell.org/hoogle/?hoogle=%3C%24%3E</a><br>
<br>
sigh...<br>
<br>
Let's save this for a new proposal however...<br>
<br>
Bas<br>
<br>
P.S.<br>
Jonathan, thanks for the equational law relating <$$> and <**>:<br>
<div class="im">a <$$> f = a <**> return f<br>
</div>this has strongly put me back in the +1 camp :-)<br>
<div><div></div><div class="h5">_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br>