1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <TITLE>Haskell Hierarchical Libraries</TITLE>
8 <H1>Haskell Hierarchical Libraries</H1>
10 <P>The libraries are divided into several <EM>packages</EM>.
11 NOTE: there is not always a clean division between packages in the
12 hierarchy, which means a node and its children might be in
13 different packages. If you're looking for a specific module, try
14 all the packages below.</P>
18 <A HREF="base/index.html"><TT>base</TT></a>
20 the Prelude, and a large collection of useful libraries.
23 <A HREF="haskell98/index.html"><TT>haskell98</TT></a>
25 Haskell 98 and FFI Standard Libraries.
28 <A HREF="haskell-src/index.html"><TT>haskell-src</TT></a>
30 manipulating Haskell source code.
33 <A HREF="network/index.html"><TT>network</TT></a>
35 networking support libraries.
38 <A HREF="parsec/index.html"><TT>parsec</TT></a>
40 monadic parser combinators.
43 <A HREF="QuickCheck/index.html"><TT>QuickCheck</TT></a>
45 automatic specification-based testing.
48 <A HREF="readline/index.html"><TT>readline</TT></a>
50 a library for interactively reading input from the console.
54 <A HREF="unix/index.html"><TT>unix</TT></a>
56 supplies POSIX functionality.
61 <A HREF="OpenGL/index.html"><TT>OpenGL</TT></a>
66 <A HREF="GLUT/index.html"><TT>GLUT</TT></a>
68 the OpenGL utility toolkit.
73 <A HREF="ObjectIO/index.html"><TT>ObjectIO</TT></a>
80 <H2>Implementation-specific notes</H2>
83 <DT><A HREF="http://www.haskell.org/ghc/">GHC/GHCi</A></DT>
85 Most of the time, all the packages are available without the
86 need to use any additional command-line options. The only
87 time when this is not the case is when linking a program on the
88 command line, without using the <tt>--make</tt> option: in this
89 case you must list all the packages to link to by adding the
90 <tt>-package</tt> <i>P</i> flag (where <i>P</i> is the package
91 name) to the command line for each package.
92 See the <a href="users_guide/users-guide.html">User's Guide</a>
96 <DT><A HREF="http://www.haskell.org/hugs/">Hugs 98</A></DT>
98 Hugs provides almost all of the modules in the
99 <A HREF="base/index.html"><TT>base</TT></a> package
100 and all the modules in the
101 <A HREF="haskell98/index.html"><TT>haskell98</TT></a>,
102 <A HREF="haskell-src/index.html"><TT>haskell-src</TT></a>,
103 <A HREF="network/index.html"><TT>network</TT></a>,
104 <A HREF="parsec/index.html"><TT>parsec</TT></a> and
105 <A HREF="QuickCheck/index.html"><TT>QuickCheck</TT></a> packages.
107 Most of the modules in the <A HREF="unix/index.html"><TT>unix</TT></a>
108 package are supported, too.
111 If the target platform supports OpenGL, the
112 <A HREF="OpenGL/index.html"><TT>OpenGL</TT></a> and
113 <A HREF="GLUT/index.html"><TT>GLUT</TT></a> packages are supported too.
115 All those modules are always available, as a single hierarchy;
116 Hugs does not use the package subdivision.
119 <DT><A HREF="http://www.haskell.org/nhc98/">Nhc98</A></DT>
121 The modules of the <tt>haskell98</tt> package are available
122 without the need to use any additional compile-time options.
123 To use modules from some other package <i>P</i> with Nhc98,
124 add the compile-time option <tt>-package</tt> <i>P</i>.
125 Nhc98 currently provides many of the modules in the
126 <tt>base</tt> package (see the
127 <a href="http://www.haskell.org/nhc98/libraries.html">Nhc98 libraries page</a>