Either way there is an asymmetry when Functor is involved, putting it in Control would break up the cluster of:
import Data.Functor
import Data.Foldable
import Data.Traversable
So, I can't see it mattering too much which color the bikeshed is painted, but if the community decides that Control.Functor is the place this should go I'll happily move the Control.Functor module in category-extras to another name.
-Edward Kmett
On Mon, Jun 29, 2009 at 9:03 AM, Johan Tibell
<johan.tibell@gmail.com> wrote:
Hi,
On Mon, Jun 29, 2009 at 2:45 PM, Ross Paterson
<ross@soi.city.ac.uk> wrote:
Although (<$) is now a method of the Functor class, it is hidden in the
re-export by the Prelude, Control.Monad and Monad. The new module
Data.Functor exposes the full class, plus the function (<$>). These are
also re-exported by Control.Applicative.
Could we come up with some policy on what goes in Control.* versus Data.*? As we add more and more modules that fits in both categories it's becoming increasingly hard to remember what lives where. Using both Data and Control gives import lists an ugly asymmetry:
import Control.Applicative
import Data.Functor
import Control.Monad
Cheers,
Johan
_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries