
Because there are many Functors for which (<$) provides better sharing and/or performance, and it has zero impact on anyone who has never heard of (<$).
Sent from my iPad
On Aug 6, 2013, at 2:32 AM, Malcolm Wallace
Can you explain why you think it is an improvement? To me, it looks like line noise.
Regards, Malcolm
On 5/08/2013, at 20:06, Edward Kmett
wrote: Right now the definition of Control.Monad.void is: void :: Functor f => f a -> f () void = fmap (const ()) I propose we replace it with void :: Functor f => f a -> f ()
void = (() <$) This expands out to the former definition by the default definition of (<$) and Data.Functor.Functor exports (<$) explicitly to make it possible to optimize this sort of thing. It seems a shame not to use it.
Discussion Period: 2 weeks _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries