[project @ 2003-08-04 10:06:31 by ross]
[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="haskell-src/index.html"><TT>haskell-src</TT></a>
29       </DT><DD>
30         manipulating Haskell source code.
31       </DD>
32       <DT>
33         <A HREF="network/index.html"><TT>network</TT></a>
34       </DT><DD>
35         networking support libraries.
36       </DD>
37       <DT>
38         <A HREF="parsec/index.html"><TT>parsec</TT></a>
39       </DT><DD>
40         monadic parser combinators.
41       </DD>
42       <DT>
43         <A HREF="readline/index.html"><TT>readline</TT></a>
44       </DT><DD>
45         a library for interactively reading input from the console.
46       </DD>
47 @unixHTMLStart@
48       <DT>
49         <A HREF="unix/index.html"><TT>unix</TT></a>
50       </DT><DD>
51         supplies POSIX functionality.
52       </DD>
53 @unixHTMLEnd@
54 @HOpenGLHTMLStart@
55       <DT>
56         <A HREF="OpenGL/index.html"><TT>OpenGL</TT></a>
57       </DT><DD>
58         3D rendering.
59       </DD>
60       <DT>
61         <A HREF="GLUT/index.html"><TT>GLUT</TT></a>
62       </DT><DD>
63         the OpenGL utility toolkit.
64       </DD>
65 @HOpenGLHTMLEnd@
66 @ObjectIOHTMLStart@
67       <DT>
68         <A HREF="ObjectIO/index.html"><TT>ObjectIO</TT></a>
69       </DT><DD>
70         GUI library.
71       </DD>
72 @ObjectIOHTMLEnd@
73     </DL>
74
75     <H2>Implementation-specific notes</H2>
76
77     <DL>
78       <DT><A HREF="http://www.haskell.org/ghc/">GHC/GHCi</A></DT>
79       <DD>
80         Most of the time, all the packages are available without the
81         need to use any additional command-line options.  The only
82         time when this is not the case is when linking a program on the
83         command line, without using the <tt>--make</tt> option: in this
84         case you must list all the packages to link to by adding the
85         <tt>-package</tt> <i>P</i> flag (where <i>P</i> is the package
86         name) to the command line for each package.
87         See the <a href="users_guide/users-guide.html">User's Guide</a>
88         for more details.
89       </DD>
90
91       <DT><A HREF="http://www.haskell.org/hugs/">Hugs 98</A></DT>
92       <DD>
93         Hugs provides almost all of the modules in the
94         <A HREF="base/index.html"><TT>base</TT></a> package
95         and all the modules in the
96         <A HREF="haskell98/index.html"><TT>haskell98</TT></a>,
97         <A HREF="haskell-src/index.html"><TT>haskell-src</TT></a>,
98         <A HREF="network/index.html"><TT>network</TT></a> and
99         <A HREF="parsec/index.html"><TT>parsec</TT></a> packages.
100 @unixHTMLStart@
101         Most of the modules in the <A HREF="unix/index.html"><TT>unix</TT></a>
102         package are supported too.
103 @unixHTMLEnd@
104         All those modules are always available, as a single hierarchy;
105         Hugs does not use the package subdivision.
106       </DD>
107
108       <DT><A HREF="http://www.haskell.org/nhc98/">Nhc98</A></DT>
109       <DD>
110         The modules of the <tt>haskell98</tt> package are available
111         without the need to use any additional compile-time options.
112         To use modules from some other package <i>P</i> with Nhc98,
113         add the compile-time option <tt>-package</tt> <i>P</i>.
114         Nhc98 currently provides many of the modules in the
115         <tt>base</tt> package (see the
116         <a href="http://www.haskell.org/nhc98/libraries.html">Nhc98 libraries page</a>
117         for a list).
118       </DD>
119
120     </DL>
121
122   </BODY>
123 </HTML>