[Haskell-cafe] Definition of the Haskell standard library

Simon Peyton-Jones simonpj at microsoft.com
Tue Jul 31 05:15:31 EDT 2007

| On the other hand, it's not entirely true that there's no standard
| library, it's just that it's borders are slightly fuzzy. For example, we
| do have the library change submission process for modifying the standard
| libraries. Up until now that has been taken to mean changes to the base
| package. That package is now being split up, so we'll have to think
| about what it'll apply to in the future.
| My opinion is that in the past it has been too difficult to get changes
| into the base library, that there's been too much stability at the
| expense of improving scope and quality. Making it easy to install new
| packages and upgrade existing standard libraries should make it easier
| to trial more major changes outside of the standard libs before
| proposing getting those changes integrated.

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.


More information about the Libraries mailing list