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.
The idiom of foo <$> bar <*> baz <*> ... is the whole point of using an Applicative after all!
I laud the goal of everything having exactly one place to be, but here I think practical considerations override.
-Edward Kmett
On Thu, Apr 8, 2010 at 9:38 PM, Isaac Dupree
> This parallelism also suggests to me that <$$> should be placed (only) inThat's indeed annoying.
> Control.Applicative, which is where <*>, <$>, and <**> reside. Yeah, I know
> that's annoying...
What about removing <$> and <$ from Control.Applicative?
One advantage is that this reduces the complexity tax of Control.Applicative.
One disadvantage is that this will surely break some code. Especially
because, for some weird reason, Data.Functor is not know to hoogle.
http://haskell.org/hoogle/?q=Data.Functor
And <$> is reported to be only exported by Control.Applicative
http://haskell.org/hoogle/?hoogle=%3C%24%3E
sigh...
Let's save this for a new proposal however...
Bas
P.S.
Jonathan, thanks for the equational law relating <$$> and <**>:
a <$$> f = a <**> return fthis has strongly put me back in the +1 camp :-)
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries