# GHC Documentation

Welcome to GHC!

This is the top of the GHC documentation tree, where you will find links to all the supplied documentation about GHC and its libraries.

- The User's Guide

  The User's Guide has all you need to know about using GHC: command line options, language extensions, GHCi, etc.

- Hierarchical Libraries

  Documentation for the hierarchical libraries that come with GHC.

- (Old) Haskell Libraries

  Previous versions of GHC (before version 5.04) came with a suite of libraries known as `hslibs`, aka the Hugs-GHC libraries. As we are in the process of moving towards using hierarchical libraries for everything, many of these libraries have moved over to the new packages in the hierarchical libraries above. We still provide the old `hslibs` libraries for backwards compatibility and also for those libraries which have yet to move into the hierarchy. For libraries which have moved, the documentation contains a pointer to the location in the new libraries.

  Libraries which haven't moved yet, so are still only available from here, include: the Win32 library, HaXml, and a few others.

- Cabal

  An infrastructure for building and distributing Haskell software.

- Building Guide

  Information on buiding GHC from source, and porting GHC to a new platform (NOTE: online only; not included in a binary distribution of GHC).