proposal #3335: make some Applicative functions into methods, and split off Data.Functor

Johan Tibell johan.tibell at gmail.com
Mon Jun 29 09:03:33 EDT 2009


Hi,

On Mon, Jun 29, 2009 at 2:45 PM, Ross Paterson <ross at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/libraries/attachments/20090629/7f75df04/attachment.html


More information about the Libraries mailing list