PROPOSAL: More base package breakup

Sean Leather leather at
Wed Aug 6 17:38:05 EDT 2008

Hi Ian,

The base package is still a large, unwieldy beast, making it hard to
> develop and debug. If possible, I'd like to cut it down a bit more
> before the 6.10 release.
> I won't inline all the details here, as it's a huge amount of text and
> an image, but basically I'm proposing to:
> * Create packages:
>    timeout, unique, concurrent,
>    st,
>    system, numeric, generics,
>    version, getopt, debug, printf
>    ghc-exts

I have a very strong request to name the "generics" package something else.
The reason is that this not the only flavor of generic programming. Many
others are available and/or will be made available. (We [1] are working on a
few.) For example, if you go to the Hackage package list [2] and grep for
"generic," you'll find a number of packages, not to mention Uniplate and
Strafunski (a.k.a. StrategyLib). If you go to the wiki on research papers in
the area of generics [3], you find a lot. Only 2 of those cover the
Data.Generics library.

Naming the package "generics" is deceiving, because it conveys that it is
the only (or main) generics library. I would recommend calling it "syb,"
because that is its more popular name based on the research that has been
done, esp. considering the continuing use of "Scrap Your ..." in titles. ;)

As a side note, it appears that I am not the first person to say this. [4]


-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Libraries mailing list