2f757c3f593bf799f00578149d1b821e096bd93b
[ghc-hetmet.git] / ghc / docs / libraries.html.in
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <HTML>
3   <HEAD>
4     <TITLE>Haskell Hierarchical Libraries</TITLE>
5   </HEAD>
6
7   <BODY>
8     <H1>Haskell Hierarchical Libraries</H1>
9
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>
15
16     <DL>
17       <DT>
18         <A HREF="base/index.html"><TT>base</TT></a>
19       </DT><DD>
20         the Prelude, and a large collection of useful libraries.
21       </DD>
22       <DT>
23         <A HREF="haskell98/index.html"><TT>haskell98</TT></a>
24       </DT><DD>
25         Haskell 98 and FFI Standard Libraries.
26       </DD>
27       <DT>
28         <A HREF="network/index.html"><TT>network</TT></a>
29       </DT><DD>
30         networking support libraries.
31       </DD>
32       <DT>
33         <A HREF="haskell-src/index.html"><TT>haskell-src</TT></a>
34       </DT><DD>
35         manipulating Haskell source code.
36       </DD>
37       <DT>
38         <A HREF="readline/index.html"><TT>readline</TT></a>
39       </DT><DD>
40         a library for interactively reading input from the console.
41       </DD>
42       <DT>
43         <A HREF="unix/index.html"><TT>unix</TT></a>
44       </DT><DD>
45         supplies POSIX functionality (not all platforms).
46       </DD>
47 @HOpenGLHTMLStart@
48       <DT>
49         <A HREF="OpenGL/index.html"><TT>OpenGL</TT></a>
50       </DT><DD>
51         3D rendering.
52       </DD>
53       <DT>
54         <A HREF="GLUT/index.html"><TT>GLUT</TT></a>
55       </DT><DD>
56         the OpenGL utility toolkit.
57       </DD>
58 @HOpenGLHTMLEnd@
59 @ObjectIOHTMLStart@
60       <DT>
61         <A HREF="ObjectIO/index.html"><TT>ObjectIO</TT></a>
62       </DT><DD>
63         GUI library.
64       </DD>
65 @ObjectIOHTMLEnd@
66     </DL>
67
68     <H2>Implementation-specific notes</H2>
69
70     <DL>
71       <DT><A HREF="http://www.haskell.org/ghc/">GHC/GHCi</A></DT>
72       <DD>
73         Most of the time, all the packages are available without the
74         need to use any additional command-line options.  The only
75         time when this is not the case is when linking a program on the
76         command line, without using the <tt>--make</tt> option: in this
77         case you must list all the packages to link to by adding the
78         <tt>-package</tt> <i>P</i> flag (where <i>P</i> is the package
79         name) to the command line for each package.
80         See the <a href="users_guide/users-guide.html">User's Guide</a>
81         for more details.
82       </DD>
83
84       <DT><A HREF="http://www.haskell.org/hugs/">Hugs 98</A></DT>
85       <DD>
86         Hugs provides almost all of the modules in the <tt>base</tt> package,
87         all the modules in the
88         <tt>haskell98</tt>, <tt>network</tt> and <tt>haskell-src</tt> packages,
89         and some of those in the <tt>unix</tt> package.
90         These modules are always available, as a single hierarchy;
91         Hugs does not use the package subdivision.
92       </DD>
93
94       <DT><A HREF="http://www.haskell.org/nhc98/">Nhc98</A></DT>
95       <DD>
96         To use modules from a package <i>P</i> with Nhc98,
97         add the compile-time option <tt>-package</tt> <i>P</i>.
98         Nhc98 currently provides many of the modules in the
99         <tt>base</tt> package (see the
100         <a href="http://www.haskell.org/nhc98/libraries.html">Nhc98 libraries page</a>
101         for a list).
102       </DD>
103
104     </DL>
105
106   </BODY>
107 </HTML>