[project @ 2001-02-07 16:07:31 by simonmar]
[ghc-hetmet.git] / ghc / docs / users_guide / intro.sgml
index b33a1f2..883377c 100644 (file)
@@ -44,11 +44,13 @@ compilation systems, has several interacting parts:
 <OrderedList>
 <ListItem>
 <Para>
-A <Emphasis>driver</Emphasis><IndexTerm><Primary>driver program</Primary></IndexTerm> 
+A <Emphasis>driver</Emphasis><IndexTerm><Primary>driver
+program</Primary></IndexTerm>
 <Literal>ghc</Literal><IndexTerm><Primary>ghc</Primary></IndexTerm>&mdash;which
-you usually think of as &ldquo;the compiler&rdquo;&mdash;is a program that merely
-invokes/glues-together the other pieces of the system (listed below),
-passing the right options to each, slurping in the right libraries, etc.
+you usually think of as &ldquo;the compiler&rdquo;&mdash;is a program
+that merely invokes/glues-together the other pieces of the system
+(listed below), passing the right options to each, slurping in the
+right libraries, etc.
 </Para>
 </ListItem>
 
@@ -213,18 +215,14 @@ of this guide!
 
 </Sect1>
 
-<Sect1 id="mailing-lists-GHC">
-<Title>Meta-information: Web sites, mailing lists, etc.
-</Title>
+  <Sect1 id="mailing-lists-GHC">
+    <Title>Meta-information: Web sites, mailing lists, etc.</Title>
 
-<Para>
-<IndexTerm><Primary>mailing lists, Glasgow Haskell</Primary></IndexTerm>
-<IndexTerm><Primary>Glasgow Haskell mailing lists</Primary></IndexTerm>
-</Para>
+    <IndexTerm><Primary>mailing lists, Glasgow Haskell</Primary></IndexTerm>
+    <IndexTerm><Primary>Glasgow Haskell mailing lists</Primary></IndexTerm>
 
-<Para>
-On the World-Wide Web, there are several URLs of likely interest:
-</Para>
+<Para>On the World-Wide Web, there are several URLs of likely
+interest:</Para>
 
 <Para>
 
@@ -266,29 +264,14 @@ We run two mailing lists about Glasgow Haskell.  We encourage you to
 join, as you feel is appropriate.
 </Para>
 
-<Para>
 <VariableList>
-
 <VarListEntry>
 <Term>glasgow-haskell-users:</Term>
 <ListItem>
 <Para>
-This list is for GHC users to chat among themselves.  Subscribe by
-sending mail to <email>majordomo@haskell.org</email>, with a message
-body (not header) like this:
-</Para>
-
-<Para>
-
-<Screen> 
-subscribe glasgow-haskell-users MyName &#60;m.y.self@bigbucks.com&#62; 
-</Screen>
-</Para>
-
-<Para>
-(The last bit is your all-important e-mail address, of course.)
-</Para>
+This list is for GHC users to chat among themselves.  Subscription can
+be done on-line at <ulink
+url="http://www.haskell.org/mailman/listinfo/glasgow-haskell-users"><literal>http://www.haskell.org/mailman/listinfo/glasgow-haskell-users</literal></ulink>.</para>
 
 <Para>
 To communicate with your fellow users, send mail to <email>glasgow-haskell-users@haskell.org</email>.
@@ -296,10 +279,9 @@ To communicate with your fellow users, send mail to <email>glasgow-haskell-users
 
 <Para>
 To contact the list administrator, send mail to
-<email>owner-glasgow-haskell-users@haskell.org</email>.  An archive
-of the list is available on the Web at the <ULink
-URL="http://www.mail-archive.com/glasgow-haskell-users@haskell.org">glasgow-haskell-users
-mailing list archive</ULink>.
+<email>glasgow-haskell-users-admin@haskell.org</email>.  An archive
+of the list is available at <ulink url="http://www.haskell.org/pipermail/glasgow-haskell-users/"><literal>http://www.haskell.org/pipermail/glasgow-haskell-users/</literal></ulink>.
+
 </Para>
 </ListItem>
 </VarListEntry>
@@ -312,49 +294,115 @@ who subscribe to this list will muse upon what's wrong and what you
 might do about it.
 </Para>
 
-<Para>
-Subscribe via <email>majordomo@haskell.org</email> with:
-</Para>
-
-<Para>
-
-<Screen>
-subscribe glasgow-haskell-bugs My Name &#60;m.y.self@hackers.r.us&#62;
-</Screen>
-
-</Para>
+<para>Subscription can be done on-line at <ulink
+url="http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs"><literal>http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs</literal></ulink>.</para>
 
 <Para>
-Again, you may contact the list administrator at <email>owner-glasgow-haskell-bugs@haskell.org</email>.
-And, yes, an archive of the list is available on the Web at the <ULink
-URL="http://www.mail-archive.com/glasgow-haskell-bugs@haskell.org">
-glasgow-haskell-bugs mailing list archive</ULink
->
-</Para>
+Again, you may contact the list administrator at
+<email>glasgow-haskell-bugs-admin@haskell.org</email>.  And, yes, an
+archive of the list is available on the Web at the <ulink url="http://www.haskell.org/pipermail/glasgow-haskell-bugs/"><literal>http://www.haskell.org/pipermail/glasgow-haskell-bugs/</literal></ulink>.</Para>
 </ListItem>
 </VarListEntry>
-</VariableList>
-</Para>
 
-<Para>
-There is also the general Haskell mailing list.  Subscribe by sending
-email to <email>majordomo@haskell.org</email>, with the usual message body:
-</Para>
+           <varlistentry>
+             <term>cvs-ghc:</term>
+             <listitem>
+               <para>The hardcore GHC developers hang out here.  This
+               list also gets commit message from the CVS repository.
+               There are several other similar lists for other parts
+               of the CVS repository
+               (eg. <literal>cvs-hslibs</literal>,
+               <literal>cvs-happy</literal>,
+               <literal>cvs-hdirect</literal> etc.)</para>
+
+               <para>To subscribe: <ulink
+                url="http://www.haskell.org/mailman/listinfo/cvs-ghc"><literal>http://www.haskell.org/mailman/listinfo/cvs-ghc</literal></ulink></para>
+
+             </listitem>
+           </varlistentry>
+         </variablelist>
+
+<Para>
+There are several other haskell and GHC-related mailing lists served
+by <literal>www.haskell.org</literal>.  Go to <ulink
+url="http://www.haskell.org/mailman/listinfo/"><literal>http://www.haskell.org/mailman/listinfo/</literal></ulink>
+for the full list.</Para>
+
+<Para>
+Some Haskell-related discussion also takes place in the Usenet
+newsgroup <Literal>comp.lang.functional</Literal>.
+</Para>
+
+  </Sect1>
+
+  <sect1 id="version-numbering">
+    <title>GHC version numbering policy</title>
+    <indexterm><primary>version, of ghc</primary></indexterm>
+
+    <para>As of GHC version 4.08, we have adopted the following
+    policy for numbering GHC versions:</para>
+
+    <variablelist>
+      <varlistentry>
+       <term>Stable Releases</term>
+       <listitem>
+         <para>These are numbered <literal>x.yy.z</literal>, where
+         <literal>yy</literal> is <emphasis>even</emphasis>, and
+         <literal>z</literal> is the patchlevel number (the trailing
+         <literal>.z</literal> can be omitted if <literal>z</literal>
+         is zero).  Patchlevels are bug-fix releases only, and never
+         change the programmer interface to any system-supplied code.
+         However, if you install a new patchlevel over an old one you
+         may need to recompile any code that was compiled against the
+         old libraries.</para>
+
+         <para>The value of <literal>__GLASGOW_HASKELL__</literal>
+         (see <xref linkend="c-pre-processor">) for a major release
+         <literal>x.yy.z</literal> is the integer
+         <literal>xyy</literal>.</para>
+         <indexterm>
+           <primary><literal>__GLASGOW_HASKELL__</literal></primary>
+         </indexterm>
+       </listitem>
+      </varlistentry>
+      
+      <varlistentry>
+       <term>Snapshots/unstable releases</term>
+       <listitem>
+         <para>We may make snapshot releases of the current
+         development sources from time to time, and the current
+         sources are always available via the CVS repository (see the
+         GHC web site for details).</para>
+
+         <para>Snapshot releases are named
+         <literal>x.yy.YYYYMMDD</literal> where <literal>yy</literal>
+         is <emphasis>odd</emphasis>, and <literal>YYYYMMDD</literal>
+         is the date of the sources from which the snapshot was
+         built.  In theory, you can check out the exact same sources
+         from the CVS repository using this date.</para>
+
+         <para>The value of <literal>__GLASGOW_HASKELL__</literal>
+         for a snapshot release is the integer
+         <literal>xyy</literal>.  You should never write any
+         conditional code which tests for this value, however: since
+         interfaces change on a day-to-day basis, and we don't have
+         finer granularity in the values of
+         <literal>__GLASGOW_HASKELL__</literal>, you should only
+         conditionally compile using predicates which test whether
+         <literal>__GLASGOW_HASKELL__</literal> is equal to, later
+         than, or earlier than a given major release.</para>
+         <indexterm>
+           <primary><literal>__GLASGOW_HASKELL__</literal></primary>
+         </indexterm>
+       </listitem>
+      </varlistentry>
+    </variablelist>
+    
+    <para>The version number of your copy of GHC can be found by
+    invoking <literal>ghc</literal> with the
+    <literal>--version</literal> flag.</para>
+  </sect1>
 
-<Para>
-
-<Screen>
-subscribe haskell My Name &#60;m.y.self@fp.rules.ok.org&#62;
-</Screen>
-
-</Para>
-
-<Para>
-Some Haskell-related discussion takes place in the Usenet newsgroup
-<Literal>comp.lang.functional</Literal>.
-</Para>
-
-</Sect1>
 
 &relnotes