List of core libraries

Gershom B gershomb at
Mon Sep 29 03:35:43 UTC 2014

This is a good discussion on clearing things up. The following, from the core libraries wiki page, is clearly not entirely correct:

"The core libraries are a subset of the packages in the Haskell Platform, and define basic APIs that are expected to be available in any Haskell implementation.”

Some libraries, like xhtml, are clearly there for historical reasons at this point. Other libraries, such as hpc and ghc-prim, are clearly not expected to be available in ‘any Haskell implementation’. Furthermore, does this imply that the core libraries committee, which can choose to adopt packages, can therefore choose what is “expected to be available in any Haskell implementation?” I suppose it can, but will ‘any Haskell implementation’ listen? :-P

Better perhaps to do something like the following:

"The core libraries are a subset of the packages in the Haskell Platform. Many core libraries define basic APIs that are expected to be available in any Haskell implementation. A second set of core libraries are coupled tightly to the Glasgow Haskell Compiler but nonetheless managed through the core libraries process, as they are considered core functionality in the GHC Haskell ecosystem.”

Additionally, the libraries committee may want to more explicitly seperate the two lists? If we do ever have a new libraries section of a Haskell report, I imagine, e.g. it may well mention directory and process, but not ‘ghc-prim’.

Finally, I think this is premature, but I do suspect that there will come a time soon in which we want to move xhtml to the "maintained only for backward compatibility” slot. My understanding is that modern Haskell web frameworks nearly unanimously avoid it in favor of more performant alternatives (at a minimum, not based on ’String’). Furthermore, the xhtml package seems like it has recieved nearly no patches in the past four years outside of changes to maintain compatibility with new versions of GHC. In a few years time, I suspect that most code that continues to use this library rather than more modern alternatives will be hoplessly bitrotted in other ways as well.

Even further down the road, I suspect many of the same considerations may apply to ‘pretty’ as well.

Also note that having xhtml and pretty as core libraries discourages adding more modern alternatives to the platform down the line (such as, say, blaze-html and wl-pprint-text).


On September 28, 2014 at 3:00:14 PM, Thomas Miedema (thomasmiedema at wrote:
> On Sat, Sep 27, 2014 at 7:40 PM, Brandon Allbery  
> wrote:
> >
> > There is a difference between the libraries needed to provide a core
> > usable Haskell installation, and the libraries required for a particular
> > Haskell implementation (in this case ghc) to provide basic functionality.
> > For example, integer-gmp is an artifact of how GHC implements bigints, and
> > haskeline and terminfo are required for ghci's line editing. We generally
> > distinguish between "core libraries" and "GHC bootstrap libraries"
> > ("bootlibs").
> >
> Thanks Brandon, that cleared up part of my initial confusion. I added the
> following section to the haskellwiki:
> _______________________________________________
> Libraries mailing list
> Libraries at

More information about the Libraries mailing list