The libraries are divided into several packages. The available package are:
- base
-
This package contains the Prelude and its support libraries, and a large
collection of useful libraries ranging from data structures to parsing
combinators and debugging utilities.
- haskell98
-
This package contains the Haskell 98 Standard and FFI Standard Libraries. For
more information on the Haskell 98 Standard Libraries, please see the Haskell 98
Library Report, here: http://www.haskell.org/onlinelibrary/.
- haskell-src
-
Facilities for manipulating Haskell source code: an abstract syntax,
lexer, parser and pretty-printer.
- network
-
Networking-related facilities.
- parsec
-
A monadic parser combinator library, written by Daan Leijen. Parsec is designed
from scratch as an industrial-strength parser library. It is simple, safe, well
documented, has extensive libraries and good error messages, and is also
fast. More documentation can be found on:
http://www.cs.uu.nl/~daan/parsec.html
- QuickCheck
-
A library for testing Haskell programs automatically. The programmer provides a
specification of the program, in the form of properties which functions should
satisfy, and QuickCheck then tests that the properties hold in a large number of
randomly generated cases. Specifications are expressed in Haskell, using
combinators defined in the QuickCheck library. QuickCheck provides combinators
to define properties, observe the distribution of test data, and define test
data generators. For more information, please see:
http://www.math.chalmers.se/~rjmh/QuickCheck/.
- readline
-
An interface to the GNU readline library. More information on
readline can be found at http://www.gnu.org/directory/readline.html.
- unix
-
POSIX functionality.
Implementation-specific notes:
- GHC/GHCi
- 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 (../users_guide/users-guide.html) for more
details.
- Hugs
- Hugs provides almost all of the modules in the the above packages (with
exceptions listed on the Hugs 98 libraries status page
(http://cvs.haskell.org/Hugs/pages/libstatus.html). All those modules are
always available, as a single hierarchy; Hugs does not use the package
subdivision.
- Nhc98
- Nhc98 provides many of the modules in the the above packages (see the
Nhc98 libraries page (http://www.haskell.org/nhc98/libraries.html) for a more
details). The modules of the haskell98 package are available without the need
to use any additional compile-time options. To use modules from some other
package P with Nhc98, add the compile-time option -package P.
|