Test Trac #9036
[ghc.git] / docs / comm / index.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
5 <title>The GHC Commentary - The Beast Explained</title>
6 </head>
7
8 <body BGCOLOR="FFFFFF">
9 <h1>The Glasgow Haskell Compiler (GHC) Commentary [v0.17]</h1>
10 <p>
11 <!-- Contributors: Whoever makes substantial additions or changes to the
12 document, please add your name and keep the order alphabetic. Moreover,
13 please bump the version number for any substantial modification that you
14 check into CVS.
15 -->
16 <strong>Manuel M. T. Chakravarty</strong><br>
17 <strong>Sigbjorn Finne</strong><br>
18 <strong>Simon Marlow</strong><br>
19 <strong>Simon Peyton Jones</strong><br>
20 <strong>Julian Seward</strong><br>
21 <strong>Reuben Thomas</strong><br>
22 &nbsp;<br>
23 <p>
24 This document started as a collection of notes describing what <a
25 href="mailto:chak@cse.unsw.edu.au">I</a> learnt when poking around in
26 the <a href="http://haskell.org/ghc/">GHC</a> sources. During the
27 <i>Haskell Implementers Workshop</i> in January 2001, it was decided to
28 put the commentary into
29 <a href="http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/">GHC's CVS
30 repository</a>
31 to allow the whole developer community to add their wizardly insight to
32 the document.
33 <p>
34 <strong>The document is still far from being complete - help it
35 grow!</strong>
36
37 <h2>Before the Show Begins</h2>
38 <p>
39 <ul>
40 <li><a href="feedback.html">Feedback</a>
41 <li><a href="others.html">Other Sources of Wisdom</a>
42 </ul>
43
44 <h2>Genesis</h2>
45 <p>
46 <ul>
47 <li><a href="genesis/genesis.html">Outline of the Genesis</a>
48 <li><a href="genesis/makefiles.html">Mindboggling Makefiles</a>
49 <li><a href="genesis/modules.html">GHC's Marvellous Module Structure</a>
50 </ul>
51
52 <h2>The Beast Dissected</h2>
53 <p>
54 <ul>
55 <li><a href="the-beast/coding-style.html">Coding style used in
56 the compiler</a>
57 <li><a href="the-beast/driver.html">The Glorious Driver</a>
58 <li><a href="the-beast/prelude.html">Primitives and the Prelude</a>
59 <li><a href="the-beast/syntax.html">Just Syntax</a>
60 <li><a href="the-beast/basicTypes.html">The Basics</a>
61 <li><a href="the-beast/modules.html">Modules, ModuleNames and
62 Packages</a>
63 <li><a href="the-beast/names.html">The truth about names: Names and OccNames</a>
64 <li><a href="the-beast/vars.html">The Real Story about Variables, Ids,
65 TyVars, and the like</a>
66 <li><a href="the-beast/data-types.html">Data types and constructors</a>
67 <li><a href="the-beast/renamer.html">The Glorious Renamer</a>
68 <li><a href="the-beast/types.html">Hybrid Types</a>
69 <li><a href="the-beast/typecheck.html">Checking Types</a>
70 <li><a href="the-beast/desugar.html">Sugar Free: From Haskell To Core</a>
71 <li><a href="the-beast/simplifier.html">The Mighty Simplifier</a>
72 <li><a href="the-beast/mangler.html">The Evil Mangler</a>
73 <li><a href="the-beast/alien.html">Alien Functions</a>
74 <li><a href="the-beast/stg.html">You Got Control: The STG-language</a>
75 <li><a href="the-beast/ncg.html">The Native Code Generator</a>
76 <li><a href="the-beast/ghci.html">GHCi</a>
77 <li><a href="the-beast/fexport.html">Implementation of
78 <code>foreign export</code></a>
79 <li><a href="the-beast/main.html">Compiling and running the Main module</code></a>
80 </ul>
81
82 <h2>RTS &amp; Libraries</h2>
83 <p>
84 <ul>
85 <li><a href="http://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Conventions">Coding Style Guidelines</a>
86 <li><a href="rts-libs/stgc.html">Spineless Tagless C</a>
87 <li><a href="rts-libs/primitives.html">Primitives</a>
88 <li><a href="rts-libs/prelfound.html">Prelude Foundations</a>
89 <li><a href="rts-libs/prelude.html">Cunning Prelude Code</a>
90 <li><a href="rts-libs/foreignptr.html">On why we have <tt>ForeignPtr</tt></a>
91 <li><a href="rts-libs/non-blocking.html">Non-blocking I/O for Win32</a>
92 <li><a href="rts-libs/multi-thread.html">Supporting multi-threaded interoperation</a>
93 </ul>
94
95 <h2>Extensions, or Making a Complicated System More Complicated</h2>
96 <p>
97 <ul>
98 <li><a href="exts/th.html">Template Haskell</a>
99 <li><a href="exts/ndp.html">Parallel Arrays</a>
100 </ul>
101
102 <h2>The Source</h2>
103 <p>
104 The online master copy of the Commentary is at
105 <blockquote>
106 <a href="http://www.cse.unsw.edu.au/~chak/haskell/ghc/comm/">http://www.cse.unsw.edu.au/~chak/haskell/ghc/comm/</a>
107 </blockquote>
108 <p>
109 This online version is updated
110 <a
111 href="http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/ghc/docs/comm/">from
112 CVS</a>
113 daily.
114
115 <p><small>
116 <!-- hhmts start -->
117 Last modified: Thu May 12 19:03:42 EST 2005
118 <!-- hhmts end -->
119 </small>
120 </body>
121 </html>