
On Wed, 2008-08-06 at 21:37 +0100, Ian Lynagh wrote:
Hi all,
This is trac #1338: http://hackage.haskell.org/trac/ghc/ticket/1338#comment:14 http://hackage.haskell.org/trac/ghc/attachment/ticket/1338/packagegraph.png
Initial deadline: 21 Aug (2 weeks).
Generally this looks good if a little on the ultra-fine-grained side. If we can fold back a few of those tiny single-module packages that'd probably be good. I think we should not move the Applicative class however. It belongs in the same package as Functor and Monad (and we should be encouraging everything to be an instance of Applicative). Similarly, I think the Monoid class should stay in base. I don't care so much about the extra Monoid types currently defined in Data.Monoid but the class should stay. I don't think it makes any sense to put Monoid and Applicative in the containers package. They're almost completely unrelated. One reason is that classes (but not their instances) are common interfaces and so belong further down in the package dep graph. People tend to try to reduce package dependencies so making people depend on containers to give an applicative instance will mean that in many cases people simply will not. I'll let other people comment on Data.Foldable and .Traversable since I don't use them. Duncan