[Haskell-cafe] Re: Definition of the Haskell standard library

Simon Marlow simonmarhaskell at gmail.com
Tue Jul 31 09:24:33 EDT 2007

Chris Smith wrote:
> Can someone clarify what's going on with the standard library in 
> Haskell?
> As of right now, I can download, say, GHC from haskell.org/ghc and get a 
> set of libraries with it.  I can visit 
> http://haskell.org/ghc/docs/latest/html/libraries/, linked from the 
> haskell.org home page, and see descriptions of all of those libraries.  
> I can build with --make (or if I'm feeling masochistic, add several 
> lines of -package options) and it works.  That's all great.
> I've seen some stuff lately on -libraries and this list indicating that 
> there's an effort to change this.  People asking whether something 
> should be included in the standard library are being told that there is 
> no standard library really.  I'm hearing that the only distinction that 
> matters is "used by GHC" or "not used by GHC", and that being on hackage 
> is as official as it gets.
> Am I misunderstanding?
> Is there something awesome about Hackage that I'm not seeing?

My take on it is this: Hackage is a pre-requisite for a comprehensive 
well-maintained standard library.  We don't have a comprehensive standard 
library yet, but from Hackage will emerge a large number of components that 
will someday be reviewed and filtered by a group of people who define the 
standard library.  This might be part of the Haskell prime effort, or a 
subsequent library standardisation process.

I agree that a standard library is important, I also believe it's vital 
that we have an effective distributed collaborative mechanism by which good 
libraries can emerge.  In the early days of the hierarchical libraries I 
think we tried to define a defacto standard set of libraries which we 
shipped with the various compilers; I now believe the distributed model 
will achieve better results in the long run, and the rate at which Hackage 
is growing seems to back this up.  This is why we developed the package 
system and Cabal, and why we no longer have a single global module 
namespace - every package author has the right to independently choose what 
their modules are called.


More information about the Haskell-Cafe mailing list