[m-rev.] for review: add 0.12 release to website

Ian MacLarty maclarty at cs.mu.OZ.AU
Thu Sep 8 22:05:30 AEST 2005


For review by anyone.

Estimated hours taken: 2

Update the website in preparation for the 0.12 release.

download/Makefile:
	Build the 0.12 news, contents and bugs pages.

download/release-0.12-bugs.php3:
download/release-0.12-contents.php3:
download/release-0.12.php3:
	Wrappers for the bugs, contents and news pages.

download/include/old-release.inc:
	Add 0.11 to the old releases page.
	XXX The relevant files will need to be moved to the files/old-releases
	directory before this is made live.
	XXX Some of the sourceforge links don't appear to work, so the
	links need to be removed or the files need to be uploaded to
	sourceforge.

download/include/release-0.12-bugs.inc:
download/include/release-0.12-contents.inc:
download/include/release-0.12.inc:
	Add bugs, contents and news files for 0.12.

download/include/release.inc:
	Change the current release page to 0.12.  There are no binary
	packages yet, but there will be very soon.

news/newsdb.inc:
	Announce the new release.

Index: download/Makefile
===================================================================
RCS file: /home/mercury1/repository/w3/download/Makefile,v
retrieving revision 1.10
diff -u -r1.10 Makefile
--- download/Makefile	24 Dec 2002 06:22:04 -0000	1.10
+++ download/Makefile	8 Sep 2005 10:18:16 -0000
@@ -17,6 +17,7 @@
 	release-0.9.html		\
 	release-0.10.html		\
 	release-0.11.html		\
+	release-0.12.html		\
 	release-0.3-bugs.html		\
 	release-0.4-bugs.html		\
 	release-0.5-bugs.html		\
@@ -27,6 +28,7 @@
 	release-0.9-bugs.html		\
 	release-0.10-bugs.html		\
 	release-0.11-bugs.html		\
+	release-0.12-bugs.html		\
 	release-0.3-contents.html	\
 	release-0.4-contents.html	\
 	release-0.5-contents.html	\
@@ -36,6 +38,7 @@
 	release-0.9-contents.html	\
 	release-0.10-contents.html	\
 	release-0.11-contents.html	\
+	release-0.12-contents.html	\
 	rotd.html

 current-release-bugs.html: release-0.11-bugs.inc
Index: download/release-0.12-bugs.php3
===================================================================
RCS file: download/release-0.12-bugs.php3
diff -N download/release-0.12-bugs.php3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/release-0.12-bugs.php3	8 Sep 2005 10:15:40 -0000
@@ -0,0 +1,11 @@
+<HTML>
+<?
+    $menu="Download";
+    $submenu="Current Release";
+    $title="Release 0.12.0 known problems";
+    $dir="download";
+    $root="..";
+    $include="release-0.12-bugs.inc";
+    include "$root/include/template.inc"
+?>
+</HTML>
Index: download/release-0.12-contents.php3
===================================================================
RCS file: download/release-0.12-contents.php3
diff -N download/release-0.12-contents.php3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/release-0.12-contents.php3	8 Sep 2005 10:15:27 -0000
@@ -0,0 +1,11 @@
+<HTML>
+<?
+    $menu="Download";
+    $submenu="Current Release";
+    $title="Release 0.12.0 Contents";
+    $dir="download";
+    $root="..";
+    $include="release-0.12-contents.inc";
+    include "$root/include/template.inc"
+?>
+</HTML>
Index: download/release-0.12.php3
===================================================================
RCS file: download/release-0.12.php3
diff -N download/release-0.12.php3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/release-0.12.php3	8 Sep 2005 08:40:17 -0000
@@ -0,0 +1,11 @@
+<HTML>
+<?
+    $menu="Download";
+    $submenu="Current Release";
+    $title="Release 0.12 Notes";
+    $dir="download";
+    $root="..";
+    $include="release-0.12.inc";
+    include "$root/include/template.inc"
+?>
+</HTML>
Index: download/include/old-release.inc
===================================================================
RCS file: /home/mercury1/repository/w3/download/include/old-release.inc,v
retrieving revision 1.13
diff -u -r1.13 old-release.inc
--- download/include/old-release.inc	4 Feb 2003 03:01:13 -0000	1.13
+++ download/include/old-release.inc	8 Sep 2005 11:42:18 -0000
@@ -64,6 +64,326 @@
 Please note, however, that the source and binaries for these
 releases are often no longer available from the FTP site.

+<h2>Release 0.11</h2>
+
+Mercury 0.11.0 was released on Dec 24, 2002.
+<p>
+The NEWS file, detailing differences since the release of 0.10.1,
+is available <a href="release-0.11.html">here</a>.
+<p>
+
+<h3>Information</h3>
+
+<ul>
+<li> <a href = "release-0.11.html">
+     Release notes for 0.11.0
+     </a>
+<li> <a href = "release-0.11-contents.html">
+     Contents of release 0.11.0 distribution
+     </a>
+<li> <a href = "release-0.11-bugs.html">
+     Known problems with release 0.11.0
+     </a>
+</ul>
+
+<h3>Supported Platforms</h3>
+
+The 0.11 release is known to work on the following platforms:
+
+<p>
+
+<ul>
+    <li> x86 machines running Debian Linux
+    <li> x86 machines running SuSE Linux
+    <li> x86 machines running Microsoft Windows 2000
+         (this release also includes
+	 <a href="<?echo $root?>/dotnet.html">preliminary support for .NET</a>)
+    <li> Sun SPARC machines running Solaris 2.x and SunOS 5.x
+    <li> DEC Alpha machines running OSF/1 (Digital Unix)
+    <li> DEC Alpha machines running Linux
+    <li> Apple PowerMac machines running Mac OS 10
+</ul>
+
+<p>
+
+Mercury 0.11 should also work on the following platforms, although we have
+not tested the latest release on these:
+
+<p>
+
+<ul>
+    <li> x86 machines running other versions of Microsoft Windows
+         (95, 98, 98SE, ME, NT, XP)
+    <li> x86 machines running other versions of Linux
+         (however, there are some known problems with the version of GNU C
+	 that shipped with Red Hat Linux 7.0)
+    <li> x86 machines running FreeBSD 3.0
+    <li> x86 machines running other BSD Unix systems
+    <li> PowerPC machines running Linux
+    <li> Sun SPARC machines running SunOS 4.x
+    <li> HP PA machines running HPUX
+    <li> IBM RS/6000 machines running AIX
+    <li> DEC Mips machines running ULTRIX
+    <li> SGI Mips machines running IRIX 5.x
+</ul>
+
+<p>
+
+It should be pretty easy to port to any sufficiently Unix-like system.
+
+<h3>What do I need?</h3>
+
+<ul>
+<li> For Unix systems, you will need the following:<p>
+    <ol>
+    <li> <a href="http://gcc.gnu.org">GNU C (gcc)</a>
+         <p>
+         We recommend GCC 2.95.*, 3.1.*, or 3.2.
+         <p>
+         GCC 3.0, 3.3.1 and 4.0 will NOT work.
+	 They have bugs which cause
+	 internal compiler errors when compiling the C code generated by the
+	 Mercury compiler.
+         <p>
+         Avoid GCC 2.96 (distributed with Red Hat Linux 7.x) and
+         other unofficial releases of GCC.  Also avoid versions of GCC less
+	 than GCC 2.95.X.
+         <p>
+         It is also possible to use other C compilers, such as
+         <a href="http://www.cs.princeton.edu/software/lcc/">lcc</a>,
+         but we don't recommend that.
+         <p>
+    <li> GNU make (version 3.69 or higher).
+    </ol>
+
+    <p>
+
+<li> For Windows,<p>
+     <ol>
+     <li> You will need <a href=http://sources.redhat.com/cygwin/>Cygwin</a>,
+          which you can download
+          <a href=http://sources.redhat.com/cygwin/setup.exe>here</a>.
+          Cygwin includes GNU C and GNU Make.<p>
+     <li> You can optionally use
+          <a href="http://msdn.microsoft.com/visualc/default.asp">
+          Microsoft Visual C</a> rather than GNU C.<p>
+     <li> If you want to take a look at our preliminary support for .NET,
+          you also need
+	  <ol>
+	      <li> the Microsoft .NET SDK version 1, available from
+                   <a href="http://msdn.microsoft.com/net/">MSDN</a>.
+	           If you are an MSDN Universal subscriber you can
+		   also order CDs as part of your subscription.
+	      <li> A windows system suitable for development with
+	           Microsoft .NET, such as Windows 2000.
+	  </ol>
+     </ol>
+</ul>
+
+<h3>How to get the distribution</h3>
+
+You can go to our FTP sites or mirrors, or directly
+download the source or binary distributions.
+
+<p>
+
+Note that although the source distribution is much smaller than
+the binary distribution, the compilation process will
+almost always take more time than is saved by the smaller
+download.
+
+<h3><a name="source">Source Distribution</a></h3>
+
+The main "mercury-compiler" source distribution is about 10 Mb.
+This includes the compiler, standard library,
+debugger, profilers, and other tools.
+(Note that this does <em>not</em> include all the sources needed to build
+the <a href="<?echo $root?>/download/gcc-backend.html">
+native-code back-end</a>; for that you also need the
+"mercury-gcc" and "gcc" distributions.
+See <a href="<?echo $root?>/download/gcc-backend.html">here</a>
+for details.)
+
+<p>
+
+There is also a small "mercury-extras" distribution which contains a number
+of useful additional libraries.  This is distributed separately,
+mainly for copyright reasons (some of the additional libraries do
+not meet the Debian Free Software Guidelines).
+We strongly recommend that everyone who downloads the "compiler"
+distribution should also download the "extras" distribution.
+
+<p>
+
+Finally there is also a "mercury-tests" distribution which contains our
+test suite.  This may be useful if you are modifying the compiler,
+or porting it to a new system.
+
+<dl>
+<dt> Compiler (10 Mb)
+<dd>
+<? links_to_file("mercury-compiler-0.11.0.tar.gz", "0.11", "yes") ?>
+<p>
+Sunsite also has many
+<a href="http://sunsite.unc.edu/pub/Linux/MIRRORS.html">mirrors</a>.<br>
+The Mercury compiler source distribution is available in the
+/pub/Linux/devel/lang/mercury directory on Sunsite,
+or its equivalent place on the mirrors.
+<p>
+
+<dt> Extras (580 kb)
+<dd>
+<? links_to_file("mercury-extras-0.11.0.tar.gz", "0.11", "no") ?>
+<p>
+
+<dt> Tests (381 kb)
+<dd>
+<? links_to_file("mercury-tests-0.11.0.tar.gz", "0.11", "no") ?>
+</dl>
+
+<h3><a name="binaries">Binary Distribution</a></h3>
+
+Binary distributions of Mercury 0.11.0:
+<br>
+(Note that some of these URLs will be dangling links until we have
+installed all the binary distributions.)
+<p>
+
+<dl>
+    <dt>x86 machines running Microsoft Windows 95, 98, 98SE, ME, NT, XP, or 2000.
+	<dd>
+	<em> <strong>WARNING:</strong>
+	These binary distributions for Windows are still BETA releases.
+	They have not been tested and may not work.
+	Please <a href="mailto:mercury at cs.mu.oz.au">let us know</a>
+	whether they work for you.
+	</em>
+	<p>
+	Cygwin version: compiler + Extras + Tests (about 29 Mb): <br>
+<?
+links_to_file("beta-releases/0.11.0/mercury-0.11.0.i686-pc-cygwin.tar.gz",
+	"0.11", "no");
+?>
+<br>
+	To install, open a Cygwin bash shell, and type in the commands
+	"tar zxf mercury-0.11.0.i686-pc-cygwin.tar.gz",
+	"cd mercury-0.11.0.i686-pc-cygwin",
+	"CC=gcc sh configure",
+	and then "make install.<br>
+	<strong> You need to invoke configure with "CC=gcc sh configure".</strong>
+	<p>
+	Mingw version: compiler only (about 25 Mb): <br>
+<?
+links_to_file("beta-releases/0.11.0/mercury-compiler-0.11.0.i686-pc-mingw.zip",
+	"0.11", "no");
+?>
+<br>
+	The Mingw version still requires Cygwin,
+	but the executables that it generates do not require Cygwin.
+	(That is, it's a cross-compiler from Cygwin to native Windows.)
+	To install, open a Cygwin bash shell, and do
+	<pre>unzip -d / mercury-compiler-0.11.0.i686-pc-mingw.zip</pre>
+	Note that you <strong>must</strong> use the Cygwin unzip program,
+	not WinZip.  "WinZip" doesn't handle Cygwin's symbolic links properly.
+	<p>
+
+    <dt>x86 machines running Linux (ELF executable format, libc 6.2)
+	<dd> Note that these binary distributions work ONLY with libc 6.2.x.
+	     Unfortunately they do NOT work with libc 6.1. This is due
+	     to incompatibilities between libc versions 6.1 and 6.2
+	     (i.e. glibc 2.1 and 2.2).
+	     <p>
+
+	     Debian Package (*.deb) <br>
+	     Compiler only (about 28 Mb): <br>
+<? links_to_file("mercury_0.11.0-1_i386.deb", "0.11", "no"); ?>
+	     <br>
+	     If you get this package, we suggest that you also download
+	     the "extras" source distribution.
+	     <p>
+
+	     RedHat Package (*.rpm) <br>
+	     Compiler only (about 28 Mb): <br>
+<?
+links_to_file("mercury-compiler-0.11.0-1.i386.rpm", "0.11", "no");
+?>
+	     <br>
+	     If you get this package, we suggest that you also download
+	     the "extras" source distribution.
+             <p>
+
+	     Ordinary package (*.tar.gz) <br>
+	     Compiler + Extras + Tests (about 30 Mb): <br>
+<?
+links_to_file("mercury-0.11.0.i686-pc-linux-libc2.2-gnu-O5.tar.gz", "0.11",
+	"no");
+?>
+	<p>
+
+    <dt>Sun SPARC machines running Solaris 2.x and SunOS 5.6
+	<dd> Compiler + Extras + Tests (about 35 Mb): <br>
+	(For this platform, we're shipping 0.11.1-beta-2003-01-25
+	in place of 0.11.0.) <br>
+<?
+links_to_file("mercury-0.11.1-beta-2003-01-25.sparc-sun-solaris2.7.tar.gz",
+	"0.11", "no");
+?>
+	<br>
+	<em> <strong>WARNING:</strong>
+We've had reports that some users have had trouble untarring some of
+the binary distributions for Solaris, with tar reporting
+"directory checksum error".  This appears to be due to a bug in
+Sun tar.  If you encounter this problem, then (1) let us know
+and (2) use GNU tar. </em>
+	<p>
+
+    <dt>Apple Mac Power/PC machines running MacOS X
+	<dd> Compiler only (about 35 Mb): <br>
+<?
+links_to_file("mercury-0.11.0.powerpc-apple-darwin5.5.tar.gz", "0.11",
+"no");
+?>
+	<br>
+	If you get this package, we suggest that you also download
+	the "extras" source distribution.
+	<p>
+</dl>
+
+<h3>FTP Download Sites</h3>
+<dl>
+	<dt> Australia (primary site)
+	<dd>
+	<a href = "<?echo $aus_ftp?>">
+	<?echo $aus_ftp?></a>
+
+<? if ($Uppsala == "yes") { ?>
+	<dt> Sweden (automatically updated mirror)
+	<dd>
+	<a href = "<?echo $sweden_ftp?>">
+	<?echo $sweden_ftp?></a>
+<? } ?>
+
+<? if ($Stonybrook == "yes") { ?>
+	<dt> USA (Stonybrook; manually updated mirror)
+	<dd>
+	<a href = "ftp://ftp.cs.sunysb.edu/pub/XSB/mercury/">
+	ftp://ftp.cs.sunysb.edu/pub/XSB/mercury/</a>
+<? } ?>
+
+</dl>
+
+<h3>HTTP Download Sites</h3>
+<dl>
+	<dt> Australia (primary site)
+	<dd>
+	<a href = "<?echo $aus_http?>">
+	<?echo $aus_http?></a>
+
+	<dt> USA (SourceForge)
+	<dd> <a href = "http://sourceforge.net/projects/mercury/">
+	http://sourceforge.net/projects/mercury/</a>
+</dl>
+
 <h3>Release 0.10</h3>

 <h4>Information</h4>
@@ -78,9 +398,6 @@
 <li> <a href = "release-0.10-bugs.html">
      Known problems with release 0.10.1
      </a>
-<li> <a href = "limitations.html">
-     Limitations of the current release.
-     </a>
 </ul>

 <h4><a name="source">Source Distribution</a></h4>
@@ -203,11 +520,6 @@
 	<a href = "release-0.9-bugs.html">
 	Known problems with release 0.9.1
 	</a>
-
-	<li>
-	<a href = "limitations.html">
-	Limitations of the current release.
-	</a>
 </ul>

 <h4>Source Distribution</h4>
@@ -441,11 +753,6 @@
 	<a href = "release-0.8-bugs.html">
 	Known problems with release 0.8
 	</a>
-
-	<li>
-	<a href = "limitations.html">
-	Limitations of the current release.
-	</a>
 </ul>

 <h4>Source Distribution</h4>
@@ -567,11 +874,6 @@
 	<li>
 	<a href = "release-0.7-bugs.html">
 	Known problems with release 0.7
-	</a>
-
-	<li>
-	<a href = "limitations.html">
-	Limitations of the current release.
 	</a>
 </ul>

Index: download/include/release-0.12-bugs.inc
===================================================================
RCS file: download/include/release-0.12-bugs.inc
diff -N download/include/release-0.12-bugs.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/include/release-0.12-bugs.inc	8 Sep 2005 10:29:02 -0000
@@ -0,0 +1,206 @@
+<h2>Release 0.11 - Known Problems</h2>
+
+Bug reports should be sent to mercury-bugs at cs.mu.oz.au.
+If you're reporting more than one bug, please use separate emails
+for each bug.  Please include all the relevant information,
+including which version of Mercury you're using, what operating
+system you're using, and a complete source file that
+demonstrates the problem.  (If it's something that only shows
+up in multi-module programs, send a shar archive or uuencoded
+tar archive containing your source files.)  Please try to ensure
+that bug reports contain all the information that we need to be
+able to reproduce the problem.  Make sure that all bug reports are
+fully self-contained.
+
+<p>
+
+Below is a list of the known outstanding bugs.
+We'll try to record any other bugs that are discovered
+on our WWW page <http://www.cs.mu.oz.au/mercury>.
+In addition to the bugs mentioned here, some bugs related
+to the implementation of particular languages features
+(existential types, nested modules, tabling)
+are also mentioned in the language reference manual, and some
+problems related to using Mercury on specific operating systems
+are described in the README.* files.
+See also the <a href="limitations.html">limitations</a> of the current release.
+
+<p>
+
+Note: please do not be alarmed by the fact that this software has some bugs.
+ALL useful software has bugs.  During the development of the Mercury
+implementation we have found bugs in gcc, as, ld, the dynamic loader,
+and even the OS kernel.  We hope that by listing the known outstanding bugs
+here we are doing our users a service.  It would be disappointing if
+anyone were to infer the wrong thing from it.
+
+<hr>
+
+<b>Subject: bug report - Inf and NaN  <br>
+Date: 4 Oct 1995</b>
+<p>
+The following module causes an "undefined variable Inf" error in the
+generated C code, because 1E400 == Infinity, which gets printed as `Inf'.
+<p>
+<pre>
+:- module hello.
+:- interface.
+:- import_module io.
+
+:- pred main(io::di, io::uo) is det.
+
+:- implementation.
+
+main(!IO) :-
+	io.write_float(1E400, !IO).
+</pre>
+
+<hr>
+
+<b>Subject: bug with PC values on Alpha <br>
+Date: 12 Jun 1996</b>
+<p>
+On the alpha, if the Mercury runtime catches a signal, it
+sometimes prints out the wrong value for the PC.
+
+<hr>
+
+<b>Subject: inter-module optimization and abstract
+exported equivalence types. <br>
+Date: 19 February 1998</b>
+<p>
+In some cases the compiler reports spurious ambiguity errors when compiling
+with `--intermodule-optimization'. This is due to the definition of abstract
+exported equivalence types being made visible by inter-module optimization.
+In this example, with `--intermodule-optimization' the compiler sees the
+declaration `:- type var == int' from term.m and then cannot determine whether
+`Elem' has type `int' or `pair(int)'.
+The work-around is to add an explicit type qualification.
+<p>
+<pre>
+:- module foo.
+:- interface.
+:- import_module list, term.
+:- pred test(list(var)::in) is det.
+:- implementation.
+:- import_module int, std_util.
+
+test(Args0) :-
+	MakeIndex =
+		(pred(Elem0::in, Elem::out, Index0::in, Index::out) is det :-
+			Elem = Elem0 - Index0,
+			Index is Index0 + 1
+	),
+	list.map_foldl(MakeIndex, Args0, _, 0, _).
+</pre>
+
+<hr>
+
+<b>Subject: GCC internal error <br>
+Date: 26 June 2001</b>
+
+<pre>
+    random.c: In function `random_module6':
+    random.c:412: fixed or forbidden register 3 (bx) was spilled for class
+    GENERAL_REGS.
+    This may be due to a compiler bug or to impossible asm
+    statements or clauses.
+
+    mercury_trace_alias.c:98: Unable to find a register to spill in class
+    `SIREG'.
+</pre>
+This problem occurs with several different combinations of GCC version
+and C source file.
+<p>
+This seems to be a bug in GCC's handling of global register variables.
+The bug seems to be finally fixed in GCC 3.3 or 3.4.
+<p>
+If this problem occurs when compiling the source distribution, install
+from the binary distribution instead.
+<p>
+If a similar problem occurs when compiling your program, there are a
+few possible work-arounds:
+<ul>
+<li>Use a lower level of C compiler optimization for the affected C
+  files (add `CFLAGS-foo = -O1' or `CFLAGS-foo = -O0' to your
+  Mmakefile for each affected C file).
+<li>Use a high-level C code compilation grade (add `GRADE = hlc.gc' to
+  your Mmakefile). These grades do not use the GCC extensions which
+  trigger this problem. Unfortunately, mdb does not yet work with
+  the high-level C back-end.
+<li>Use `asm_jump.*' compilation grades instead of `asm_fast.*'
+  grades. Note that `asm_jump.*' grades are not usually installed.
+<li>Try a newer version of GCC.  Avoid GCC version 2.96 (distributed by
+  Red Hat) and 3.0.
+</ul>
+
+<hr>
+
+<b>Subject: NaN behaviour <br>
+Date: 21 Oct 2002</b>
+<p>
+The mercury standard library tends to avoid producing NaN (e.g. throwing
+an exception in many places where libc would return NaN), but it's still
+possible from arithmetic functions (e.g. 0.0*Inf, Inf - Inf, Inf + -Inf,
+Inf / Inf), sin,cos,tan when passed infinity, and perhaps other things (I
+haven't done a full search).  Presumably it can also arise from using the
+foreign language interface.
+<p>
+When NaN does arise, we have a problem that `=' (and unification) aren't
+reflexive.  From a logical point of view, this is a fairly serious problem.
+<p>
+A lesser problem is that `<' doesn't induce a total order on floats.
+
+<hr>
+
+<b>Subject: mode analysis bug <br>
+Date: 1 December 2004</b>
+<p>
+The Mercury compiler sometimes aborts with the following error message:
+<pre>
+  	Uncaught Mercury exception:
+  	Software Error: inappropriate determinism inside a negation
+</pre>
+<p>
+This bug is due to a limitation in the mode checker.  It has only
+been reported as occurring when inlining is enabled.  A workaround
+is to disable inlining for any affected files.  This can be done
+by using the option `--no-inlining'.
+
+<hr>
+
+<b>Subject: higher-order specialisation bug <br>
+Date: 2 May 2005</b>
+<p>
+The Mercury compiler sometimes aborts at -O3 and higher with an error
+message similar to the following:
+<pre>
+	 Uncaught Mercury exception:
+	 Software Error: map__lookup: key not found
+		Key Type: term.var(parse_tree.prog_data.prog_var_type)
+ 		Key Value: var(20)
+ 		Value Type: ll_backend.var_locn.var_state
+</pre>
+<p>
+This is due to a bug involving higher-order specialisation, type
+specialisation and typeclasses.  A workaround for this bug is to disable
+higher-order specialisation for any affected files.  This can be done
+by using the option `--no-higher-order'.
+
+<hr>
+
+<b>Subject: segmentation fault in deep profiler<br>
+Date: unknown</b>
+<p>
+The deep profiler may cause a segmentation fault when profiling large
+programs.  There is currently no known workaround for this problem.
+
+<hr>
+
+<b>Subject: parametric modes and intermodule-optimization<br>
+Date: unknown</b>
+<p>
+Attempting to use parametric modes may cause the compiler to abort when
+compiling with intermodule-optimization enabled.
+
+<hr>
Index: download/include/release-0.12-contents.inc
===================================================================
RCS file: download/include/release-0.12-contents.inc
diff -N download/include/release-0.12-contents.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/include/release-0.12-contents.inc	8 Sep 2005 10:20:33 -0000
@@ -0,0 +1,62 @@
+<h2>Release 0.12.0 - Contents</h2>
+
+The Mercury distribution is split into three parts.
+The "mercury-compiler" distribution contains:
+
+<ul>
+	<li>an autoconfiguration script
+	<li>the Mercury source for the compiler
+	<li>the Mercury source for the standard library
+	<li>the automatically generated C source for the compiler
+	and the standard library
+	<li>the runtime system (written in C)
+	<li>Hans Boehm's conservative garbage collector for C
+	<li>an integrated procedural and declarative debugger
+	<li>some profilers
+	<li>some utility programs, including a make front-end for Mercury
+	with automatic dependency recomputation
+	<li>the Mercury language reference manual
+	<li>the Mercury library reference manual
+	<li>the Mercury user's guide
+	<li>the Mercury frequently asked questions list
+	<li>the Prolog to Mercury transition guide
+	<li>some sample Mercury programs
+</ul>
+
+<p>
+
+The "mercury-extras" distribution contains some extra libraries for:
+
+<ul>
+	<li>lazy evaluation
+	<li>dynamic linking
+	<li>backtrackable (trailed) destructive update
+	<li>concurrency
+	<li>arithmetic
+	<ul>
+		<li>arithmetic on complex and imaginary numbers
+		<li>a CLP(R) interface, i.e. constraint solving
+		over real numbers
+	</ul>
+	<li>a set of generic stream type classes
+	<li>an autotesting tool similar to Haskell's QuickCheck
+	<li>UIs:
+	<ul>
+		<li>graphics using Tk, OpenGL/GLUT or Xlib.
+		<li>text interfaces using curses
+		<li>processing HTML forms using the CGI interface
+	</ul>
+	<li>interfacing:
+	<ul>
+		<li>XML parsing
+		<li>POSIX interface
+		<li>an ODBC database interface
+	</ul>
+	<li>the Morphine trace analysis system
+	<li>two curses bindings, one more complete than the other
+	<li>a general purpose lexer
+	<li>Moose, a parser generator for Mercury.
+	<li>quickcheck, an autotesting tool similar to Haskell's QuickCheck.
+</ul>
+
+The "mercury-tests" distribution contains a test suite.
Index: download/include/release-0.12.inc
===================================================================
RCS file: download/include/release-0.12.inc
diff -N download/include/release-0.12.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/include/release-0.12.inc	8 Sep 2005 08:32:09 -0000
@@ -0,0 +1,557 @@
+<h2>New in release 0.12 of the Mercury distribution</h2>
+
+<h3>HIGHLIGHTS</h3>
+
+Changes to the Mercury language:
+
+<ul>
+
+<li>Infix `.' is now accepted as a module name separator.
+
+<li>Field access syntax can now be used at the top-level in func and mode
+  declarations and in the head of a clause for a user-defined field access
+  function.
+
+<li>We now support impure higher-order code.
+
+<li>We now allow user-defined comparison predicates.
+
+<li>User-defined equality and comparison predicates for a type are now
+  required to be defined in the same module as the type.
+
+<li>Experimental support for user-defined constrained types has been added.
+
+<li>We now support the use of `..' as an infix operator.
+
+</ul>
+
+<p>
+
+Changes to the Mercury standard library:
+
+<ul>
+
+<li>We've added several new modules: cord, for sequences with O(1) consing and
+  concatenation, array2d, for two-dimensional arrays, and version_array,
+  version_array2d, version_bitmap, version_hash_table, and version_store,
+  implementing non-unique versions of these types supporting O(1) access for
+  non-persistent use.  A new module term_to_xml has been added for converting
+  arbitrary terms to XML documents. Two new modules, set_tree234 and
+  set_ctree234, have been added to provide operations on sets with better
+  worst-case behavior (but worse constant factors) than the current
+  implementation. Ten new modules, svarray, sveqvclass, svmap, svmulti_map,
+  svbimap, svset, svbag, svqueue, svrelation and svvarset now provide more
+  convenient ways to update arrays, equivalence classes, maps, multi_maps,
+  bimaps, sets, bags, queues, relations and varsets in code that uses state
+  variables.
+
+<li>New procedures have been added to many of the existing standard library
+  modules.  Most notably, these include procedures for creating
+  directories and symbolic links, for checking file types and file
+  accessibility, for detecting floating point infinities and NaNs.
+
+<li>The dir module now handles Microsoft Windows pathnames correctly.
+
+</ul>
+
+<p>
+
+Changes to the Mercury compiler:
+
+<ul>
+
+<li>We have added optional support for a new type-accurate garbage collector
+  as an alternative to using the Boehm et al conservative collector.
+
+<li>Better support for incremental program development:
+  there's two new compiler options, `--allow-stubs' and `--no-warn-stubs',
+  to support execution of incomplete programs.
+
+<li>There's a new warning option `--warn-dead-procs' for detecting unreachable
+  code.
+
+<li>It's now easier to use shared libraries on Linux/x86 systems
+  with `mmc --make'.
+
+<li>A new analysis: `--analyse-exceptions'.
+  The compiler can use the results of this analysis to try and improve
+  some optimizations.
+
+</ul>
+
+<p>
+
+Portability improvements:
+
+<ul>
+
+<li>We have made the implementation compatible with gcc 3.4.
+
+<li>Shared libraries now work on Mac OS X.
+
+</ul>
+
+<p>
+
+Changes to the Mercury debugger:
+
+<ul>
+
+<li>Users can now arrange to have the goal and/or some variables printed
+  every time execution arrives at a breakpoint.
+
+<li>Users can now arrange to associate a condition with a breakpoint.
+  Execution won't stop at the breakpoint if the condition is false.
+
+<li>Users can now limit the output from stack traces.
+
+<li>Users can now put breakpoints on unify and compare predicates.
+
+<li>Users can now save runtime values to files.
+
+<li>Users can now tell the declarative debugger to trust entire modules or
+  individual predicates or functions.
+
+<li>The declarative debugger can track the origins of subterms.
+
+<li>The declarative debugger can now use the divide-and-query search strategy.
+
+</ul>
+
+<p>
+
+Changes to the compiler back-ends:
+
+<ul>
+
+<li>Improvements to the .NET CLR back-end.
+
+<li>Improvements to the Java back-end.
+
+<li>The cost in disk space of enabling debugging is now much smaller.
+
+</ul>
+
+<p>
+
+Numerous minor improvements to the Mercury standard library.
+
+Changes to the extras distribution:
+
+<ul>
+
+<li>Added easyx, a new Xlib based graphics library suitable for implementing
+  simple interactive graphical applications.
+
+<li>Major improvements to the OpenGL binding.
+
+<li>We've added a binding to GLUT (the GL utility toolkit).
+
+<li>The OpenGL, GLUT and Tcl/Tk bindings have been ported to Mac OS X.
+
+</ul>
+
+<p>
+
+<h3>DETAILED LISTING</h3>
+
+Changes to the Mercury language:
+
+<ul>
+
+<li>The deprecated support for NU-Prolog style `when' declarations has been
+  removed.
+
+<li>We have experimental support for user-defined constrained types, as
+  documented in the reference manual section on "Solver types".  Variables
+  of a constrained type can have constraints placed upon them before they
+  are instantiated, allowing for various styles of constraint logic
+  programming.
+
+<li>We now allow user-defined comparison predicates, using the syntax
+  :- type t ---> t where equality is unify_t, comparison is compare_t.
+
+  See the "User-defined equality and comparison" chapter of the
+  Mercury Language Reference Manual for details.
+
+<li>User-defined equality and comparison predicates for a type are now
+  required to be defined in the same module as the type.
+
+<li>Infix `.' is now accepted as a module name separator.  Hence it is
+  now possible to write io.write_string and list.member to mean the
+  same thing as io__write_string and list__member, for instance.  This
+  has required changing the associativity of `.' from xfy to yfx and
+  from precedence 600 to 10.
+
+<li>Field access notation can now be used at the top-level in func and
+  mode declarations and in the head of a clause for a user-defined
+  field access function.  That is, one can now write
+<pre>
+  	:- func a ^ f(b) = c.
+	:- mode a ^ f(b) = c is <detism>.
+	A ^ f(B) = ...
+</pre>
+
+<li>Mercury's support for impure code now also includes support for
+  impure higher-order code.
+<p>
+  Specifically, impurity annotations can be used on higher-order types,
+  lambda expressions, and higher-order calls; higher-order terms are
+  permitted to call impure or semipure code provided that they are
+  appropriately annotated as such.
+<p>
+  For details, see the "Higher-order impurity" section of the "Impurity"
+  chapter of the Mercury Language Reference Manual.
+
+<li>`..' is now accepted as an infix operator.  That means a list of
+  successive integers can now be written as X .. Y.  For example:
+<pre>
+	1 .. 5 = [1, 2, 3, 4, 5]
+</pre>
+</ul>
+
+<p>
+
+Changes to the Mercury standard library:
+
+<ul>
+<li>We've add the function queue.from_list/1 as a synonym for
+  queue.list_to_queue/1, function queue.to_list/1 (and predicate
+  queue.to_list/2) as the converse of queue.from_list/1, queue.put_on_front/2
+  (and predicate queue.put_on_front/3) to put items on to the front of a
+  queue, queue.put_list_on_front/2 (and predicate queue.put_list_on_front/3)
+  to put a list of items on to the front of a queue, and predicate
+  queue.get_from_back/3 which removes the last element from a queue.
+
+<li>We've added the function pqueue.from_assoc_list/1 as a synonym
+  for pqueue.assoc_list_to_pqueue/1.
+
+<li>We've added functions set.from_list/1 and set.from_sorted_list/1
+  as synonyms for set.list_to_set/1 and set.sorted_list_to_set/1
+  respectively.  Similar additions have also been made to the
+  set_unordlist, set_ordlist and set_bbbtree modules.
+
+<li>We've added some new higher-order predicates, rbtree.foldl2/6
+  rbtree.foldl3 and rbtree.transform_value to the rbtree module.  The
+  predicate rbtree.remove/3 has been deprecated.
+
+<li>We've add some new predicates and functions to int.m.
+  int.fold_up/4, int.fold_down/4, int.fold_up/5, int.fold_down/5,
+  int.fold_up2/7 and int.fold_down2/7 support iteration over
+  contiguous integer ranges.
+
+<li>The predicate int.to_float/2 has now been deprecated.
+
+<li>We've added a new library module, `array2d', for two-dimensional arrays.
+
+<li>We've added a new module, cord, for sequences with O(1) consing and
+  concatenation.  A cord is essentially a tree structure with data stored
+  in the leaf nodes.  Joining two cords together to construct a new cord
+  is therefore an O(1) operation.
+
+<li>The dir module now handles Microsoft Windows pathnames correctly.
+
+<li>dir__split_name and dir__basename are now semidet, not det.
+  dir__split_name fails for root directories or pathnames not
+  containing a directory separator.
+  dir__basename fails for root directories.
+
+<li>We've added some new predicates and functions to the dir module:
+	<ul>
+	<li>basename_det/1,
+	<li>expand_braces/1,
+	<li>is_directory_separator/1,
+	<li>make_directory/4,
+	<li>make_single_directory/4,
+	<li>foldl2/6,
+	<li>parent_directory/0,
+	<li>path_name_is_absolute/1,
+	<li>path_name_is_root_directory/1,
+	<li>recursive_foldl2/7.
+	</ul>
+
+<li>We've added several new predicates to the io module:
+	<ul>
+	<li>have_symlinks/0,
+	<li>make_symlink/4,
+	<li>follow_symlink/4,
+	<li>check_file_accessibility/5,
+	<li>file_type/4,
+	<li>input_stream_foldl2_io_maybe_stop/{6,7},
+	<li>binary_input_stream_foldl2_io_maybe_stop/{6,7}.
+	</ul>
+<li>We've added several new predicates and functions to the bimap module:
+	<ul>
+	<li>det_insert,
+	<li>forward_search,
+	<li>reverse_search,
+	<li>from_corresponding_lists,
+	<li>map_keys,
+	<li>map_values,
+	<li>det_insert_from_assoc_list,
+	<li>det_insert_from_corresponding_lists,
+	<li>set_from_assoc_list,
+	<li>set_from_corresponding_lists,
+	<li>delete_key,
+	<li>delete_value,
+	<li>delete_keys,
+	<li>delete_values,
+	<li>overlay,
+	<li>apply_forward_map_to_list,
+	<li>apply_reverse_map_to_list,
+	<li>foldl
+	</ul>
+
+<li>We've added predicates relation__lookup_key_set_from/3 and
+  relation__lookup_key_set_to/3.
+
+<li>The type of the arguments giving the initial set of visited nodes
+  to relation__dfs and relation__dfsrev has changed from set_bbbtree
+  to sparse_bitset.
+
+<li>Efficiency of the operations in the relation module has been
+  greatly improved.
+
+<li>Some predicates and functions have been added to the sparse_bitset module:
+	<ul>
+	<li>to_set/1,
+	<li>from_set/1,
+	<li>member/2,
+	<li>foldl/4,
+	<li>foldr/4.
+	</ul>
+
+<li>exception.m now contains a predicate finally/6 which can be used to
+  ensure that resources are released whether a called closure exits
+  normally or throws an exception.
+
+<li>exception.m now contains a predicate throw_if_near_stack_limits which
+  can be used to prevent an application running out of stack space.
+
+<li>We've changed the interface of exception.try_all/2 to separate
+  exceptional results from normal results.
+
+<li>We've added predicates multi_map.to_flat_assoc_list/2 and
+  multi_map.from_flat_assoc_list/2.
+
+<li>Several new functions have been added to the string module, namely
+  elem/2, unsafe_elem/2, chomp/1, lstrip/1, lstrip/2, rstrip/1, rstrip/2,
+  strip/1, prefix_length/2, suffix_length/2, string/1, string/2, string/4
+  and string.det_to_float/1.
+
+<li>We've added some new predicates, list__map2_foldl, list__map_foldl3,
+  and list__foldl4 to list.m.
+
+<li>We've added a predicate, list__cons/3 to list.m.  This is sometimes
+  useful with higher-order code.  It can also be useful with state
+  variables.  We've also added a function version.
+
+<li>We've added some new predicates, map__common_subset, map__foldl3,
+  map__overlay_large_map and map__transform_value, to map.m.
+
+<li>We've added a predicate, map_fold, to set.m.
+
+<li>We've added a function, pred_to_bool, to bool.m.
+
+<li>We've added the three predicates, `is_nan/1', `is_inf/1' and
+  `is_nan_or_inf/1' to float.m.  These predicates are for use only on
+  systems which support IEEE floating point arithmetic.
+
+<li>We've added a function version of `hash_table__search/3'.
+
+<li>We've added a predicate, copy_mutvar, to store.m.
+
+<li>We've added a function, clk_tck, to time.m.
+
+<li>builtin.m now contains types and insts `unify' and `compare' for use
+  in defining user-defined equality and comparison predicates.
+
+<li>builtin.m now defines insts `new' and `old' as synonyms for `free' and
+  `any', respectively, since some of the HAL literature uses this terminology.
+  Likewise it defines modes `no' for `new >> old' and `oo' for `old >> old'.
+
+<li>We've fixed some problems with the use of `cc_nondet'.
+	<p>
+  The incorrect cc_nondet modes of the following predicates have been removed:
+  	<ul>
+	<li>deconstruct.arg/4
+	<li>deconstruct.named_arg/4
+	<li>deconstruct.limited_deconstruct/6
+	<li>std_util.arg_cc/3
+	<li>std_util.argument_cc/3
+	<li>std_util.named_argument_cc/3
+	<li>std_util.limited_deconstruct_cc/5
+	</ul>
+  These have been replaced by cc_multi versions in which success or failure
+  is indicated by returning a maybe type.
+
+<li>We've added functions get_equivalent_elements, get_minimum_element and
+  remove_equivalent_elements to eqvclass.m.
+
+<li>We've added semidet functions max_key and min_key to return the maximum and
+  minimum keys in maps and 2-3-4 trees.
+
+<li>We've added predicates member, remove_leq, remove_gt, foldl and filter
+  to sparse_bitset.m.
+
+<li>builtin.m now contains types and insts `unify' and `compare' for use
+  in defining user-defined equality and comparison predicates.
+
+<li>The following predicates, which were added in 0.11.0, have been deprecated:
+	<ul>
+	<li>io.current_input_stream/3
+	<li>io.current_output_stream/3
+	<li>io.current_binary_input_stream/3
+	<li>io.current_binary_output_stream/3
+	</ul>
+  They were identical to the following long-existing predicates with
+  similar names:
+  	<ul>
+	<li>io.input_stream/3
+	<li>io.output_stream/3
+	<li>io.binary_input_stream/3
+	<li>io.binary_output_stream/3
+	</ul>
+
+<li>The following functions have been added to the integer module:
+	<ul>
+	<li>integer.zero/0
+	<li>integer.one/0
+	<li>integer.det_from_string/1
+	<li>integer.pow/2
+	</ul>
+<p>
+	The predicate integer.pow/3 has been deprecated.
+
+<li>We've added some functions, rational.int/1, rational.from_integer/1,
+  rational.from_integers/2 and rational.reciprocal/1 to rational.m
+  The function rational.rational_from_integers/2 has been deprecated.
+
+<li>A new module `term_to_xml' has been added to the standard library.  This
+  module contains predicates to write arbitrary Mercury terms to an output
+  stream as XML.  Automatic generation of DTDs for Mercury types is also
+  supported.  Once a Mercury term is in XML it can be converted to many other
+  formats such as HTML or XUL using an appropriate stylesheet.
+</ul>
+
+<p>
+
+Changes to the Mercury compiler:
+
+<ul>
+<li>We have added optional support for a new type-accurate garbage collector
+  as an alternative to using the Boehm et al conservative collector.
+<p>
+  The new collector is enabled by `--grade hlc.agc'.
+  For details about how it works, see the paper
+  "Accurate garbage collection in an uncooperative environment"
+  which is available via our web page.
+<p>
+  Note that the new collector is a very naive copying collector, and still
+  has a number of serious limitations which may make it undesirable for
+  most applications.  It only works with `--high-level-code'.  The heap
+  size is fixed at program startup; the collector does not attempt to
+  resize the heap.  It does not do cheap heap reclamation on backtracking.
+  There is no support for passing terms on the Mercury heap to C code.
+  In most cases, the Boehm et all conservative collector will perform better.
+
+<li>There's a new warning option `--warn-dead-procs' which can be used
+  for detecting unreachable code.
+<p>
+  This is not yet enabled by default, because it can cause some spurious
+  warnings in modules containing code which mixes Mercury clauses and
+  `pragma foreign_proc' declarations for the same procedure.
+
+<li> `mmc --make' now works correctly with Microsoft Visual C++.
+
+<li>It's now easier to use shared libraries on Linux/x86 systems with
+  `mmc --make'.  See the documentation for the `--mercury-linkage'
+  and `--linkage' options and the `MERCURY_LINKAGE' Mmake variable
+  in the Mercury User's Guide.
+
+<li>The behaviour of the `--pre-link-command' and `--extra-init-command'
+  options has changed.  They now take a command which will be passed
+  the names of all source files in the program or library, with the
+  name of the main module's source file passed first.
+  See the "Build system options" section of the "Invocation" chapter
+  of the Mercury User's Guide for details.
+
+<li>It is now possible to reconfigure an existing Mercury installation
+  to use a different C compiler.  See the "C compilers" chapter
+  of the Mercury User's Guide for details.
+
+<li>Inlining of builtins can now be disabled using the `--no-inline-builtins'
+  option.  This is done by default when debugging, as without this option the
+  execution of builtins is not traced.
+
+<li>The Mercury compiler now uses `.' and not `:' as the module separator
+  in all output.
+
+<li>The environment variables which were previously used to override the
+  location of the standard library (MERCURY_ALL_C_INCL_DIRS,
+  MERCURY_ALL_MC_C_INCL_DIRS, MERCURY_INT_DIR, MERCURY_C_LIB_DIR,
+  MERCURY_MOD_LIB_MODS, MERCURY_TRACE_LIB_MODS) have been removed.
+
+<li>There is a new analysis: `--analyse-exceptions'.  This identifies
+  predicates that will not throw an exception.  This information is
+  made available to the optimizing passes of the compiler.
+</ul>
+
+<p>
+
+Portability improvements:
+
+<ul>
+<li>We have made the implementation compatible with gcc 3.4.
+<li>Shared libraries now work on Mac OS X.
+</ul>
+
+<p>
+
+Changes to the Mercury debugger:
+
+<ul>
+<li>Users can now limit the output from stack traces.
+<p>
+  The mdb command `stack' now takes an optional integer argument that
+  specifies the maximum number of stack frames to be printed.
+
+<li>Users can now put breakpoints on unify and compare predicates.
+<p>
+  The syntax for procedure specifications now has provision for specifying
+  unify and compare predicates.
+
+<li>Users can now save runtime values to files.
+<p>
+  We've added a new mdb command, `save_to_file', that saves a specified term
+  to a specified file.
+
+<li>The declarative debugger can now be told to trust entire modules or
+  individual predicates or functions using the `trust' mdb command.
+
+<li>The declarative debugger can now also tell you where a value
+  appearing in an atom came from (i.e. the call which constructed the value).
+
+<li>The declarative debugger also now supports a divide-and-query search mode.
+  You can tell the declarative debugger to use this search mode by invoking
+  it with the command `dd -s divide_and_query'.
+
+<li>The "pretty" and "raw_pretty" print formats have had their names swapped, so
+  the "pretty" format is now prettier than the "raw_pretty" format.
+</ul>
+
+Changes to the compiler back-ends:
+
+<ul>
+<li>Improvements to the .NET CLR back-end.
+<p>
+  We've fixed a lot of bugs, and implemented a lot more of the Mercury
+  standard library.  We have been able to bootstrap the compiler in
+  grade `il', and also pass more than 90% of the applicable tests in the
+  Mercury test suite.  See README.DotNet for details.
+
+<li>Improvements to the Java back-end.
+<p>
+  We've fixed a lot of bugs, and implemented a lot more of the
+  Mercury standard library.  See README.Java for details.
+</ul>
Index: download/include/release.inc
===================================================================
RCS file: /home/mercury1/repository/w3/download/include/release.inc,v
retrieving revision 1.35
diff -u -r1.35 release.inc
--- download/include/release.inc	8 Sep 2005 09:35:34 -0000	1.35
+++ download/include/release.inc	8 Sep 2005 11:29:51 -0000
@@ -19,6 +19,13 @@
 $Uppsala = "no";
 $Stonybrook = "no";

+#
+# XXX These sites should be enabled once the release has been uploaded to
+# them
+#
+$Sunsite = "no";
+$Sourceforge = "no";
+
 function link_to ($directory, $filename, $description)
 {
 	echo "<a href = \"" . $directory . $filename .
@@ -26,18 +33,22 @@
 	echo "   \n";
 }

-function links_to_file ($filename, $Sunsite)
+function links_to_file ($filename, $onSunsite)
 {
 	global $aus_ftp, $aus_http, $usa_sourceforge_http, $usa_sunsite_ftp,
 		$usa_sunysb_ftp, $sweden_ftp;
 	global $Uppsala, $Stonybrook;
+	global $Sunsite, $SourceForge;

 	link_to ($aus_ftp, $filename, "Australia (FTP)");
 	link_to ($aus_http, $filename, "Australia (HTTP)");
-	if ($Sunsite == "yes") {
+	if ($onSunsite == "yes" && $Sunsite == "yes") {
 		link_to ($usa_sunsite_ftp, $filename, "USA (Sunsite FTP)");
 	}
-	link_to ($usa_sourceforge_http, $filename, "USA (SourceForge HTTP)");
+	if ($Sourceforge == "yes") {
+		link_to ($usa_sourceforge_http, $filename,
+			"USA (SourceForge HTTP)");
+	}
 	if ($Uppsala == "yes") {
 		link_to ($usa_sunysb_ftp, $filename, "USA (Stonybrook FTP)");
 	}
@@ -49,23 +60,19 @@
 ?>
 <h2><a name="info">Current Release</a></h2>

-Mercury 0.11.0 was released on Dec 24, 2002.
-<p>
-The NEWS file, detailing differences since the release of 0.10.1,
-is available <a href="release-0.11.html">here</a>.
-<p>
+Mercury 0.12.0 was released on September 9, 2005.

 <h3>Information</h3>

 <ul>
-<li> <a href = "release-0.11.html">
-     Release notes for 0.11.0
+<li> <a href = "release-0.12.html">
+     Release notes for 0.12.0
      </a>
-<li> <a href = "release-0.11-contents.html">
-     Contents of release 0.11.0 distribution
+<li> <a href = "release-0.12-contents.html">
+     Contents of release 0.12.0 distribution
      </a>
-<li> <a href = "release-0.11-bugs.html">
-     Known problems with release 0.11.0
+<li> <a href = "release-0.12-bugs.html">
+     Known problems with release 0.12.0
      </a>
 <li> <a href = "limitations.html">
      Limitations of the current release.
@@ -81,13 +88,9 @@
 <ul>
     <li> x86 machines running Debian Linux
     <li> x86 machines running SuSE Linux
-    <li> x86 machines running Microsoft Windows 2000
-         (this release also includes
-	 <a href="<?echo $root?>/dotnet.html">preliminary support for .NET</a>)
+    <li> x86 machines running Microsoft Windows XP
     <li> Sun SPARC machines running Solaris 2.x and SunOS 5.x
-    <li> DEC Alpha machines running OSF/1 (Digital Unix)
-    <li> DEC Alpha machines running Linux
-    <li> Apple PowerMac machines running Mac OS 10
+    <li> Apple PowerPC machines running Mac OS 10.3 and above
 </ul>

 <p>
@@ -99,7 +102,7 @@

 <ul>
     <li> x86 machines running other versions of Microsoft Windows
-         (95, 98, 98SE, ME, NT, XP)
+         (95, 98, 98SE, ME, NT, 2000)
     <li> x86 machines running other versions of Linux
          (however, there are some known problems with the version of GNU C
 	 that shipped with Red Hat Linux 7.0)
@@ -110,6 +113,8 @@
     <li> HP PA machines running HPUX
     <li> IBM RS/6000 machines running AIX
     <li> DEC Mips machines running ULTRIX
+    <li> DEC Alpha machines running OSF/1 (Digital Unix)
+    <li> DEC Alpha machines running Linux
     <li> SGI Mips machines running IRIX 5.x
 </ul>

@@ -124,7 +129,7 @@
     <ol>
     <li> <a href="http://gcc.gnu.org">GNU C (gcc)</a>
          <p>
-         We recommend GCC 2.95.*, 3.1.*, or 3.2.
+         We recommend GCC 3.4.x.
          <p>
          GCC 3.0, 3.3.1 and 4.0 will NOT work.
 	 They have bugs which cause
@@ -146,9 +151,9 @@

 <li> For Windows,<p>
      <ol>
-     <li> You will need <a href=http://sources.redhat.com/cygwin/>Cygwin</a>,
+     <li> You will need <a href=http://www.cygwin.com/>Cygwin</a>,
           which you can download
-          <a href=http://sources.redhat.com/cygwin/setup.exe>here</a>.
+          <a href=http://www.cygwin.com/setup.exe>here</a>.
           Cygwin includes GNU C and GNU Make.<p>
      <li> You can optionally use
           <a href="http://msdn.microsoft.com/visualc/default.asp">
@@ -157,30 +162,25 @@
           you also need
 	  <ol>
 	      <li> the Microsoft .NET SDK version 1, available from
-                   <a href="http://msdn.microsoft.com/net/">MSDN</a>.
+                   <a href="http://msdn.microsoft.com/netframework/">
+		   MSDN</a>.
 	           If you are an MSDN Universal subscriber you can
 		   also order CDs as part of your subscription.
-	      <li> A windows system suitable for development with
-	           Microsoft .NET, such as Windows 2000.
+	      <li> A Windows system suitable for development with
+	           Microsoft .NET, such as Windows XP.
 	  </ol>
      </ol>
 </ul>

 <h3>How to get the distribution</h3>

-You can go to our FTP sites or mirrors, or directly
-download the source or binary distributions.
+You can download the latest release directly from this web page, see below.

 <p>

-Note that although the source distribution is much smaller than
-the binary distribution, the compilation process will
-almost always take more time than is saved by the smaller
-download.
-
 <h3><a name="source">Source Distribution</a></h3>

-The main "mercury-compiler" source distribution is about 10 Mb.
+The main "mercury-compiler" source distribution is about 15 Mb.
 This includes the compiler, standard library,
 debugger, profilers, and other tools.
 (Note that this does <em>not</em> include all the sources needed to build
@@ -192,7 +192,7 @@

 <p>

-There is also a small "mercury-extras" distribution which contains a number
+There is also a "mercury-extras" distribution which contains a number
 of useful additional libraries.  This is distributed separately,
 mainly for copyright reasons (some of the additional libraries do
 not meet the Debian Free Software Guidelines).
@@ -206,149 +206,22 @@
 or porting it to a new system.

 <dl>
-<dt> Compiler (10 Mb)
+<dt> Compiler (15 Mb)
 <dd>
-<? links_to_file("mercury-compiler-0.11.0.tar.gz", "yes") ?>
-<p>
-Sunsite also has many
-<a href="http://sunsite.unc.edu/pub/Linux/MIRRORS.html">mirrors</a>.<br>
-The Mercury compiler source distribution is available in the
-/pub/Linux/devel/lang/mercury directory on Sunsite,
-or its equivalent place on the mirrors.
+<? links_to_file("mercury-compiler-0.12.0.tar.gz", "yes") ?>
 <p>

-<dt> Extras (580 kb)
+<dt> Extras (22 Mb)
 <dd>
-<? links_to_file("mercury-extras-0.11.0.tar.gz", "no") ?>
+<? links_to_file("mercury-extras-0.12.0.tar.gz", "no") ?>
 <p>

-<dt> Tests (381 kb)
+<dt> Tests (914 kb)
 <dd>
-<? links_to_file("mercury-tests-0.11.0.tar.gz", "no") ?>
+<? links_to_file("mercury-tests-0.12.0.tar.gz", "no") ?>
 </dl>

 <h3><a name="binaries">Binary Distribution</a></h3>

-Binary distributions of Mercury 0.11.0:
-<br>
-(Note that some of these URLs will be dangling links until we have
-installed all the binary distributions.)
-<p>
-
-<dl>
-    <dt>x86 machines running Microsoft Windows 95, 98, 98SE, ME, NT, XP, or 2000.
-	<dd>
-	<em> <strong>WARNING:</strong>
-	These binary distributions for Windows are still BETA releases.
-	They have not been tested and may not work.
-	Please <a href="mailto:mercury at cs.mu.oz.au">let us know</a>
-	whether they work for you.
-	</em>
-	<p>
-	Cygwin version: compiler + Extras + Tests (about 29 Mb): <br>
-<? links_to_file("beta-releases/0.11.0/mercury-0.11.0.i686-pc-cygwin.tar.gz", "no"); ?> <br>
-	To install, open a Cygwin bash shell, and type in the commands
-	"tar zxf mercury-0.11.0.i686-pc-cygwin.tar.gz",
-	"cd mercury-0.11.0.i686-pc-cygwin",
-	"CC=gcc sh configure",
-	and then "make install.<br>
-	<strong> You need to invoke configure with "CC=gcc sh configure".</strong>
-	<p>
-	Mingw version: compiler only (about 25 Mb): <br>
-<? links_to_file("beta-releases/0.11.0/mercury-compiler-0.11.0.i686-pc-mingw.zip", "no"); ?> <br>
-	The Mingw version still requires Cygwin,
-	but the executables that it generates do not require Cygwin.
-	(That is, it's a cross-compiler from Cygwin to native Windows.)
-	To install, open a Cygwin bash shell, and do
-	<pre>unzip -d / mercury-compiler-0.11.0.i686-pc-mingw.zip</pre>
-	Note that you <strong>must</strong> use the Cygwin unzip program,
-	not WinZip.  "WinZip" doesn't handle Cygwin's symbolic links properly.
-	<p>
-
-    <dt>x86 machines running Linux (ELF executable format, libc 6.2)
-	<dd> Note that these binary distributions work ONLY with libc 6.2.x.
-	     Unfortunately they do NOT work with libc 6.1. This is due
-	     to incompatibilities between libc versions 6.1 and 6.2
-	     (i.e. glibc 2.1 and 2.2).
-	     <p>
-
-	     Debian Package (*.deb) <br>
-	     Compiler only (about 28 Mb): <br>
-<? links_to_file("mercury_0.11.0-1_i386.deb", "no"); ?>
-	     <br>
-	     If you get this package, we suggest that you also download
-	     the "extras" source distribution.
-	     <p>
-
-	     RedHat Package (*.rpm) <br>
-	     Compiler only (about 28 Mb): <br>
-<? links_to_file("mercury-compiler-0.11.0-1.i386.rpm", "no"); ?>
-	     <br>
-	     If you get this package, we suggest that you also download
-	     the "extras" source distribution.
-             <p>
-
-	     Ordinary package (*.tar.gz) <br>
-	     Compiler + Extras + Tests (about 30 Mb): <br>
-<? links_to_file("mercury-0.11.0.i686-pc-linux-libc2.2-gnu-O5.tar.gz", "no"); ?>
-	<p>
-
-    <dt>Sun SPARC machines running Solaris 2.x and SunOS 5.6
-	<dd> Compiler + Extras + Tests (about 35 Mb): <br>
-	(For this platform, we're shipping 0.11.1-beta-2003-01-25
-	in place of 0.11.0.) <br>
-<? links_to_file("mercury-0.11.1-beta-2003-01-25.sparc-sun-solaris2.7.tar.gz", "no"); ?>
-	<br>
-	<em> <strong>WARNING:</strong>
-We've had reports that some users have had trouble untarring some of
-the binary distributions for Solaris, with tar reporting
-"directory checksum error".  This appears to be due to a bug in
-Sun tar.  If you encounter this problem, then (1) let us know
-and (2) use GNU tar. </em>
-	<p>
-
-    <dt>Apple Mac Power/PC machines running MacOS X
-	<dd> Compiler only (about 35 Mb): <br>
-<? links_to_file("mercury-0.11.0.powerpc-apple-darwin5.5.tar.gz", "no"); ?>
-	<br>
-	If you get this package, we suggest that you also download
-	the "extras" source distribution.
-	<p>
-
-
-</dl>
-
-<h3>FTP Download Sites</h3>
-<dl>
-	<dt> Australia (primary site)
-	<dd>
-	<a href = "<?echo $aus_ftp?>">
-	<?echo $aus_ftp?></a>
-
-<? if ($Uppsala == "yes") { ?>
-	<dt> Sweden (automatically updated mirror)
-	<dd>
-	<a href = "<?echo $sweden_ftp?>">
-	<?echo $sweden_ftp?></a>
-<? } ?>
-
-<? if ($Stonybrook == "yes") { ?>
-	<dt> USA (Stonybrook; manually updated mirror)
-	<dd>
-	<a href = "ftp://ftp.cs.sunysb.edu/pub/XSB/mercury/">
-	ftp://ftp.cs.sunysb.edu/pub/XSB/mercury/</a>
-<? } ?>
-
-</dl>
-
-<h3>HTTP Download Sites</h3>
-<dl>
-	<dt> Australia (primary site)
-	<dd>
-	<a href = "<?echo $aus_http?>">
-	<?echo $aus_http?></a>
-
-	<dt> USA (SourceForge)
-	<dd> <a href = "http://sourceforge.net/projects/mercury/">
-	http://sourceforge.net/projects/mercury/</a>
-</dl>
+Binary packages of the 0.12 release for Linux, Mac OS X and
+Windows will be available shortly from this page.
Index: news/newsdb.inc
===================================================================
RCS file: /home/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.87
diff -u -r1.87 newsdb.inc
--- news/newsdb.inc	8 Aug 2005 10:57:01 -0000	1.87
+++ news/newsdb.inc	8 Sep 2005 11:22:42 -0000
@@ -22,6 +22,14 @@

 $newsdb = array(

+"9 September 2005" => array("New release",
+
+"We are pleased to announce the release of version 0.12 of the
+Mercury system.  The new release can be downloaded
+<a href=\"download/release.html\">here</a>.  For a list of the changes since
+version 0.11 see the <a href=\"download/release-0.12.html\">release notes</a>."
+),
+
 "8 August 2005" => array("Two new papers",

 "Two new papers titled

--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list