Heirarchical name space allocation

Sven Panne Sven.Panne at aedion.de
Sun Apr 4 17:51:50 EDT 2004

Adrian Hey wrote:
> What I'm proposing to do is 3 separate packages. [...] This makes
> dependencies clear and means Haskellers won't have to install SDL stuff
> they don't need.

Sorry, I misunderstood you. Having separate packages makes much sense for
this scenario, indeed.

> I think the only real issue is should the core (I.E. the SDL binding)
> actually have a .Core suffix?

I have a small brain and therefore I like simple rules like "Every module
Foo simply re-exports the modules Foo.*". :-) Using the .Core suffix would
make things easy:

    * We have an SDLCore package with modules rooted at Multimedia.SDL.Core
      (a collector module) with sub-modules Multimedia.SDL.Core.Video, ...

    * Same for an SDLImage package at Multimedia.SDL.Image

    * SDLTTF at Multimedia.SDL.TTF


A "super collector" module Multimedia.SDL would not be a good idea in this
case, because its export list would depend on the available SDL stuff.

> [...] Though we have a similar situation with Foreign and Foreign.C for example,
> so I guess it's not really an issue).

Well, Foreign is a bad example, which has been discussed on this list recently.
When we have versioned packages, Foreign should re-export all the modules below
it, nothing more and nothing less IMHO.


More information about the Libraries mailing list