<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>
+ <para>As of GHC version 6.0, 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>
+ <para>These are numbered <literal><replaceable>x</replaceable>.<replaceable>y</replaceable>.<replaceable>z</replaceable></literal>, where
+ <replaceable>y</replaceable> is <emphasis>even</emphasis>, and
+ <replaceable>z</replaceable> is the patchlevel number (the trailing
+ <literal>.<replaceable>z</replaceable></literal> can be omitted if <replaceable>z</replaceable>
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
<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>
+ <literal><replaceable>x</replaceable>.<replaceable>y</replaceable>.<replaceable>z</replaceable></literal>
+ is the integer <replaceable>xyy</replaceable> (if
+ <replaceable>y</replaceable> is a single digit, then a leading zero
+ is added, so for example in version 6.2 of GHC,
+ <literal>__GLASGOW_HASKELL__==602</literal>).</para>
<indexterm>
<primary><literal>__GLASGOW_HASKELL__</literal></primary>
</indexterm>
<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>
+ <ulink url="http://www.haskell.org/ghc/">GHC web
+ site</ulink> 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>
+ <literal><replaceable>x</replaceable>.<replaceable>y</replaceable>.YYYYMMDD</literal>
+ where <literal>y</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
+ <replaceable>xyy</replaceable>. 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