PROPOSAL: More base package breakup

Henning Thielemann lemming at
Wed Aug 13 03:15:01 EDT 2008

On Wed, 13 Aug 2008, Duncan Coutts wrote:

> On Wed, 2008-08-06 at 21:37 +0100, Ian Lynagh wrote:
>> Hi all,
>> This is trac #1338:
>> 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.

For me Foldable and Traversable belong to where Applicative is.

Boring comment, isn't it?

More information about the Libraries mailing list