patch applied (packages/array): Don't import Control.Applicative just to get <$> use fmap

Ross Paterson ross at soi.city.ac.uk
Tue Mar 25 21:20:35 EDT 2008


On Tue, Mar 25, 2008 at 02:46:24PM -0700, Ian Lynagh wrote:
> Tue Mar 25 08:02:17 PDT 2008  Duncan Coutts <duncan at haskell.org>
>   * Don't import Control.Applicative just to get <$> use fmap
>   The real reason to not import Control.Applicative is that it exports
>   the non-H98 instance Functor ((->) a) and it is important for
>   Data.Array to not re-export that because the H98 Array module
>   re-exports bits of Data.Array and it is vital that we do not export
>   non-H98 instances from a module specified in H98.

This is less clear, but it won't achieve the aim, because Data.Array
still imports Data.Foldable and Data.Traversable, each of which imports
Control.Applicative.  But that's fine: it's Array that must be protected
from these instances, not Data.Array.

I've suggested a test and a fix at #2176.


More information about the Cvs-libraries mailing list