Haskell Hierarchical Libraries

The libraries are divided into several packages. NOTE: there is not always a clean division between packages in the hierarchy, which means a node and its children might be in different packages. If you're looking for a specific module, try all the packages below.

the Prelude, and a large collection of useful libraries.
Haskell 98 and FFI Standard Libraries.
networking support libraries.
manipulating Haskell source code.
a library for interactively reading input from the console.
supplies POSIX functionality (not all platforms).

Implementation-specific notes

Most of the time, all the packages are available without the need to use any additional command-line options. The only time when this is not the case is when linking a program on the command line, without using the --make option: in this case you must list all the packages to link to by adding the -package P flag (where P is the package name) to the command line for each package. See the User's Guide for more details.
Hugs 98
Hugs provides almost all of the modules in the base package, all the modules in the haskell98, network and haskell-src packages, and some of those in the unix package. These modules are always available, as a single hierarchy; Hugs does not use the package subdivision.
To use modules from a package P with Nhc98, add the compile-time option -package P. Nhc98 currently provides many of the modules in the base package (see the Nhc98 libraries page for a list).