Adding a DSEL library to the hierarchy

Ketil Malde ketil+haskell at
Thu Nov 15 03:02:20 EST 2007

"Conal Elliott" <conal at> writes:

> I'd prefer more discussion about when to make new root names, when to wedge
> things into the existing hierarchy, and when to create new root names, under
> which to add projects ( e.g. DSEL).

I belive the primary - and perhaps only justifiable - purpose of the
hierarchy is to avoid namespace collisions.

A new root is a good choice when you have a library that has a
distinct name (like "ForSyDe", or, for that matter "Parsec"), and
includes cross-hierarchy functionality.

> I have doubts about whether module hierarchy is workable in general.  Maybe we
> could come up with something better.

Here's an essay about categorizing stuff:

The short version is that any hierarchy is going to have problems, and
nobody (except in the physical world) is browsing a hierarchy anyway,
they just enter terms in search fields.  So a wide/shallow hierarchy
incurs no additional cost, and reduces at least some of the problems
compared to a narrow/deep one.

If I haven't seen further, it is by standing in the footprints of giants

More information about the Libraries mailing list