The libraries are divided into several packages. The available packages 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 provides compatibility with the modules of Haskell 98 and
the FFI addendum, by means of wrappers around modules from the base package
(which in many cases have additional features).
However Prelude, Numeric and Foreign are provided directly
by the base package.
The modules of this package are documented in the Revised Haskell 98 Report,
at http://www.haskell.org/onlinereport/,
and the Haskell 98 Foreign Function Interface addendum,
at http://www.cse.unsw.edu.au/~chak/haskell/ffi/.
- 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
- readline
-
An interface to the GNU readline library. More information on
readline can be found at http://www.gnu.org/directory/readline.html.
- regex-base
-
Interfaces for regular expressions
- regex-compat
-
Compatibility for Text.Regex
- regex-posix
-
POSIX regular expressions
- stm
-
Software Transactional Memory: a modular composable concurrency abstraction.
- template-haskell
-
Facilities for manipulating Haskell source code using Template Haskell.
- 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/index.html) for more
details.
- Hugs
- Hugs provides almost all of the modules in 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.
- Nhc98
- Nhc98 provides many of the modules in 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.
|