Proposal: Reserved module namespace for packages on Hackage

David Menendez dave at
Mon Aug 18 20:58:14 EDT 2008

On Mon, Aug 18, 2008 at 8:07 PM, Sterling Clover <s.clover at> wrote:
> I tend to think this is a really bad idea. Although things get messy and
> there are plenty of corner cases, it seems to me the current system,
> haphazard as it is, is closer to the "right way." If, e.g., I want a Maybe
> transformer, I want to import it from Control.Monad.MaybeT, not from
> Lib.MaybeT. That way I can sort my imports sanely and see all my Control
> things in one place, no matter their provenance, all my data structures in
> another, be they from collections or bloom filters from hackage, etc.

Unless you're mechanically sorting your module imports, I don't see
how the Lib names would prevent that. As far as Haskell is concerned,
module names are entirely arbitrary.

> The other problem is that either everything eventually goes under lib, which
> creates the same problem again, or there is an implicit set of exceptions
> for things which, although not part of the official libraries (which we're
> trying to reduce, remember) are obviously too "standard" for lib (e.g.,
> HTTP, and such).

How does putting everything under Lib create the same problem again?
Hackage already forbids the multiple packages from having the same
name, so the reserved names for each package would be disjoint.

Dave Menendez <dave at>

More information about the Libraries mailing list