Go to the first, previous, next, last section, table of contents.

Prelude library organisation

Probably only of interest to implementors... The prelude libraries are organised into the following three groups, each of which is kept in a separate sub-directory of GHC's source `lib/' directory:
`lib/required/'
These are the libraries required by the Haskell definition. All are defined by the Haskell Report, or by the Haskell Libraries Report. They currently comprise:
`lib/glaExts'
Extension libraries, currently comprising:
`lib/concurrent'
GHC extension libraries to support Concurrent Haskell, currently comprising:
`lib/ghc'
These libraries are the pieces on which all the others are built. They aren't typically imported by Joe Programmer, but there's nothing to stop you doing so if you want. In general, the modules prefixed by `Prel' are pieces that go towards building `Prelude'.
The `...Base' modules generally export representation information that is hidden from the public interface. For example the module `STBase' exports the type `ST' including its representation, whereas the module `ST' exports `ST' abstractly. None of these modules are involved in any mutual recursion, with the sole exception that many modules import `Error.error'.
Go to the first, previous, next, last section, table of contents.