[Haskell-cafe] Definition of the Haskell standard library

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Tue Jul 31 09:10:17 EDT 2007

On Tue, 2007-07-31 at 10:15 +0100, Simon Peyton-Jones wrote:

> All true, but not so helpful for Joe User.  For Joe, I think it might
> be helpful to have some easily-discoverable notion of which package
> quality and stability.
> - Package X is "blessed"; lots of people have argued over its design,
> it's stable, widely used, and actively maintained.  Changes to this
> package goes through a quality-control process.
> - Package Y is a bit specialised, but it's the result of work by a
> small group, and it's actively maintained.
> - Package Z is designed, written, and maintained by one person.  That
> person has kindly put it on Hackage so that others may share it, but
> you probably don't want to rely on it unless you are happy to help
> maintain it.
> Then, in effect, the "standard library" is all the X packages.


> I wonder if it'd help to have some  descriptions such as those above
> (better worded), and use them?  Cabal already has a "stability"
> indication, and that might serve, but we'd want to articulate much
> more clearly what it meant.

I'm not sure that belongs in the cabal file, afterall, being "blessed"
is a central community consensus thing, not a distributed decision taken
by each person writing the cabal file for their package. I can't make a
blessed package by just saying that it is so.

So it's clear at the moment that the base package is blessed, changes to
it go through the library submissions process. It's not so clear for the
other packages that ghc has distributed and have often been taken to be
the standard library. Many of them look more like Y's above (like
parsec, regex-*).

So yes, I think we should make this clear, and that blessed packages
that are covered by the library submission process should be clearly
recorded and publicised centrally.

Even then though, I think Chris was looking for something slightly
wider. For example ghc has distributed quite a range of packages that
would probably not be classified as X above, eg OpenGL, GLUT, OpenAL,
FGL, HGL, etc. These are not necessarily blessed packages but are known
to be of a high quality (ok, except HGL). Chris wanted to know this to
distinguish from the many other packages on hackage. What is not clear
to me yet is if we should just rely on mechanisms in hackage to
distinguish the gems from the failed experiments or something more


More information about the Libraries mailing list