[m-rev.] for review: update webpage for 11.01 release

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Apr 27 10:44:19 AEST 2011


Announce the 11.01 release.

w3/RELEASE_INFO:
 	Bump the version number and release branch tag.

w3/news/newsdb.inc:
 	Add a news entry for 11.01.

w3/download/include/release.inc:
 	Make 11.01 the stable release.

w3/download/release-11.01.php3:
w3/download/release-11.01-bugs.php3:
w3/download/release-11.01-contents.php3:
w3/download/include/release-11.01.inc:
w3/download/include/release-11.01-bugs.inc:
w3/download/include/release-11.01-contents.inc:
 	Add download pages for the 11.01 release.

w3/download/include/old-release.inc:
 	Move the 10.04 release details to here.

w3/download/include/current-release-bugs.inc:
 	Point to the 11.01 bugs.

w3/download/Makefile:
 	Generate files for the 11.01 release.

Julien.

Index: RELEASE_INFO
===================================================================
RCS file: /home/mercury/mercury1/repository/w3/RELEASE_INFO,v
retrieving revision 1.20
diff -u -r1.20 RELEASE_INFO
--- RELEASE_INFO	19 Dec 2010 14:19:01 -0000	1.20
+++ RELEASE_INFO	1 Apr 2011 18:20:43 -0000
@@ -1,16 +1,17 @@
  # A descriptive name for the release. See mercury/VERSION
-RELEASE_VERSION=10.04.2
+RELEASE_VERSION=11.01

  # A name for the next beta-release, e.g. 0.12.2-beta
  # Note: only set this variable to a non-empty value if a source distribution
  # for the next beta release is being built.
  # NOTE: you also need to update the value of next_beta_version in
  # include/download.inc when you modify this.
-NEXT_BETA_VERSION=11.01-beta
+#NEXT_BETA_VERSION=11.01.1-beta
+NEXT_BETA_VERSION=

  # The CVS tag of the release branch.
  # This is used to check out the documentation sources.
  # We use the release *branch* tag, rather than the release tag,
  # so that it will pick up any fixes to the documentation
  # that have occurred after the release was made.
-RELEASE_TAG=version-10_04-branch
+RELEASE_TAG=version-11_01-branch
Index: download/Makefile
===================================================================
RCS file: /home/mercury/mercury1/repository/w3/download/Makefile,v
retrieving revision 1.14
diff -u -r1.14 Makefile
--- download/Makefile	19 Jul 2010 06:07:39 -0000	1.14
+++ download/Makefile	24 Apr 2011 15:55:43 -0000
@@ -20,6 +20,7 @@
  	release-0.12.html		\
  	release-0.13.html		\
  	release-10.04.html		\
+	release-11.01.html		\
  	release-0.3-bugs.html		\
  	release-0.4-bugs.html		\
  	release-0.5-bugs.html		\
@@ -33,6 +34,7 @@
  	release-0.12-bugs.html		\
  	release-0.13-bugs.html		\
  	release-10.04-bugs.html		\
+	release-11.01-bugs.html		\
  	release-0.3-contents.html	\
  	release-0.4-contents.html	\
  	release-0.5-contents.html	\
@@ -45,9 +47,10 @@
  	release-0.12-contents.html	\
  	release-0.13-contents.html	\
  	release-10.04-contents.html	\
+	release-11.01-contents.html 	\
  	rotd.html

-current-release-bugs.html: release-10.04-bugs.inc
+current-release-bugs.html: release-11.01-bugs.inc

  install: local_install

Index: download/release-11.01-bugs.php3
===================================================================
RCS file: download/release-11.01-bugs.php3
diff -N download/release-11.01-bugs.php3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/release-11.01-bugs.php3	24 Apr 2011 16:00:17 -0000
@@ -0,0 +1,11 @@
+<HTML>
+<?
+    $menu="Download";
+    $submenu="Current Release";
+    $title="Release 11.01 known problems";
+    $dir="download";
+    $root="..";
+    $include="release-11.01-bugs.inc";
+    include "$root/include/template.inc"
+?>
+</HTML>
Index: download/release-11.01-contents.php3
===================================================================
RCS file: download/release-11.01-contents.php3
diff -N download/release-11.01-contents.php3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/release-11.01-contents.php3	24 Apr 2011 15:59:21 -0000
@@ -0,0 +1,11 @@
+<HTML>
+<?
+    $menu="Download";
+    $submenu="Current Release";
+    $title="Release 11.01 Contents";
+    $dir="download";
+    $root="..";
+    $include="release-11.01-contents.inc";
+    include "$root/include/template.inc"
+?>
+</HTML>
Index: download/release-11.01.php3
===================================================================
RCS file: download/release-11.01.php3
diff -N download/release-11.01.php3
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/release-11.01.php3	24 Apr 2011 15:58:00 -0000
@@ -0,0 +1,11 @@
+<HTML>
+<?
+    $menu="Download";
+    $submenu="Current Release";
+    $title="Release 11.01 Notes";
+    $dir="download";
+    $root="..";
+    $include="release-11.01.inc";
+    include "$root/include/template.inc"
+?>
+</HTML>
Index: download/include/current-release-bugs.inc
===================================================================
RCS file: /home/mercury/mercury1/repository/w3/download/include/current-release-bugs.inc,v
retrieving revision 1.3
diff -u -r1.3 current-release-bugs.inc
--- download/include/current-release-bugs.inc	25 Feb 2001 14:56:21 -0000	1.3
+++ download/include/current-release-bugs.inc	24 Apr 2011 15:39:32 -0000
@@ -1,3 +1,3 @@
  <?
-    include "$root/download/include/release-0.10-bugs.inc";
+    include "$root/download/include/release-11.01-bugs.inc";
  ?>
Index: download/include/old-release.inc
===================================================================
RCS file: /home/mercury/mercury1/repository/w3/download/include/old-release.inc,v
retrieving revision 1.16
diff -u -r1.16 old-release.inc
--- download/include/old-release.inc	19 Jul 2010 06:07:39 -0000	1.16
+++ download/include/old-release.inc	6 Apr 2011 23:32:54 -0000
@@ -64,6 +64,115 @@
  Please note, however, that the source and binaries for these
  releases are often no longer available from the FTP site.

+<h2>Release 10.04.2</h2>
+
+Mercury 10.04.2 was released on October 5, 2010.
+
+<h3>Information</h3>
+
+<ul>
+<li> <a href = "release-10.04.html">
+     Release notes for 10.04
+     </a>
+<li> <a href = "release-10.04-contents.html">
+     Contents of release 10.04 distribution
+     </a>
+<li> <a href = "release-10.04-bugs.html">
+     Known problems with release 10.04
+     </a>
+<li> <a href = "limitations.html">
+     Limitations of the current release.
+     </a>
+</ul>
+
+<h3>Supported Platforms</h3>
+
+The latest release is known to work on the following platforms:
+
+<p>
+
+<ul>
+    <li> x86 and x86-64 machines running Linux 
+    <li> x86 machines running Microsoft Windows XP
+    <li> Apple Intel machines (both x86 and x86-64) running Mac OS X 10.5 and above
+</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>
+         GCC version 3.4.x or later is required.
+         <p>
+         GCC 4.0 will NOT work. 
+	 It has bugs that cause 
+	 internal compiler errors when compiling the C code generated by the 
+	 Mercury compiler.
+         <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 Unix-like enviroment such as <a href="http://www.cygwin.com/">Cygwin</a>,
+          or <a href="http://www.mingow/org/">MinGW and MSYS</a>.  Both provide GNU C and GNU make.
+     <li> You can optionally use
+          <a href="http://msdn.microsoft.com/visualc/default.asp">
+          Microsoft Visual C</a> rather than GNU C.<p>
+     </ol>
+</ul>
+
+<h3><a name="source">Source Distribution</a></h3>
+
+The main "mercury-compiler" source distribution is about 25 Mb.
+This includes the compiler, standard library,
+debugger, profilers, and other tools.
+
+<p>
+
+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).
+We 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 (25 Mb)
+<dd> 
+<? links_to_file("mercury-compiler-10.04.2.tar.gz", "yes") ?>
+<p>
+
+<dt> Extras (750 kb)
+<dd>
+<? links_to_file("mercury-extras-10.04.2.tar.gz", "no") ?>
+<p>
+
+<dt> Tests (1 Mb)
+<dd>
+<? links_to_file("mercury-tests-10.04.2.tar.gz", "no") ?>
+</dl>
+
+
+
  <h2>Release 0.13.1</h2>

  Mercury 0.13.1 was released on December 1, 2006.
Index: download/include/release-11.01-bugs.inc
===================================================================
RCS file: download/include/release-11.01-bugs.inc
diff -N download/include/release-11.01-bugs.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/include/release-11.01-bugs.inc	24 Apr 2011 15:27:31 -0000
@@ -0,0 +1,6 @@
+<h2>Release 11.01 - Known Problems</h2>
+
+A list of known bugs may be found in our
+<a href="http://bugs.mercury.csse.unimelb.edu.au">Bug Database</a>.
+
+<hr>
Index: download/include/release-11.01-contents.inc
===================================================================
RCS file: download/include/release-11.01-contents.inc
diff -N download/include/release-11.01-contents.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/include/release-11.01-contents.inc	26 Apr 2011 14:47:58 -0000
@@ -0,0 +1,55 @@
+<h2>Release 11.01 - 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>dynamic linking
+	<li>backtrackable (trailed) destructive update
+	<li>arithmetic
+	<ul>
+		<li>arithmetic on complex and imaginary numbers
+	</ul>
+	<li>UIs:
+	<ul>
+		<li>graphics using Tk, OpenGL/GLUT, Xlib, Allegro or Cairo.
+		<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.
+</ul>
+
+The "mercury-tests" distribution contains a test suite.
Index: download/include/release-11.01.inc
===================================================================
RCS file: download/include/release-11.01.inc
diff -N download/include/release-11.01.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ download/include/release-11.01.inc	24 Apr 2011 16:11:34 -0000
@@ -0,0 +1,182 @@
+<h2>New in release 11.01 of the Mercury distribution</h2>
+
+Upcoming changes to the Mercury standard library:
+<p>
+In the next release after 11.01 we intend to change the argument order of
+many of the predicates in the standard library so as to make them more
+conducive to the use of state variable notation.
+
+<p>
+
+For example, map.insert/4 will be changed from
+<pre> 
+    map.insert(map(K, V)::in, K::in, V::in, map(K, V)::out) is semidet.
+</pre>
+to
+<pre>
+    map.insert(K::in, V::in, map(K, V)::in, map(K, V)::out) is semidet.
+</pre>
+
+<p>
+
+As part of this change, the sv* modules will be deprecated; they will
+be removed from the library in a later release.
+
+<p>
+
+Note that none of these upcoming changes affect the 11.01 release.
+
+<h3>HIGHLIGHTS</h3>
+
+Changes to the Mercury language:
+
+<ul>
+<li> We have added two new kinds of scopes to the language.
+<p>
+  A scope introduced by one of the new keywords require_det, require_semidet,
+  require_multi, require_nondet, require_cc_multi, require_cc_nondet,
+  require_erroneous and require_failure, as the name implies, requires
+  the goal inside the scope to have the given determinism.
+<p> 
+  A scope introduced by the keyword require_complete_switch requires the
+  goal inside the scope, if it is a switch on the variable named by the scope,
+  to be a complete switch, i.e. to have arms for all the function symbols
+  in the type of the switched-on variable.
+</ul>
+
+<p>
+Changes to the Mercury standard library:
+
+<ul>
+<li>We have added semidet modes for hash_table.fold/4 and
+  version_hash_table.fold/4.
+
+<li>We have added new predicates and functions added to the assoc_list module.
+  The predicates map_keys_only/3 map_values_only/3 and map_values/3 complement
+  the functions of the same name. The predicates filter/3, negated_filter/3,
+  filter/4, merge/3, which also have function versions, do jobs very similar
+  to the predicates of the same name in the list module, but do the relevant
+  operations on keys instead of entire list elements.
+
+<li>We have moved the lazy evaluation module out of the extras distribution and
+  into a new standard library module called `lazy'.  It has also been made
+  backend-agnostic.
+
+<li>We have made changes to the list module of the standard library:
+  <ul>
+  <li>We added a new predicate list.member_index0/3.  It is like list.member/2
+    except that it also takes a parameter representing the zero-based index of
+    the element within the list.
+
+  <li>We added a new predicate list.map3_foldl/7 which maps over a list producing
+    three lists and one folded value.
+ 
+  <li>We added semidet modes with unique accumulators for list.foldl3/8,
+    list.foldl4/10, list.foldl5/12, and list.foldl6/14.
+  </ul>
+
+<li>We have added the predicates divide/4 and divide_by_set/4 to the tree_bitset
+  module of the standard library.
+
+<li>We have added the predicates set_ctree234.member/2 and
+  set_ctree234.non_empty/1.  We have add the function
+  set_ctree234.from_list/1.
+
+<li>We have added the the predicate set_bbbtree.count/2 and the
+  function set_bbbtree.count/1.  These replace the predicate
+  set_bbbtree.size/2 which is now deprecated. 
+
+<li>We have added the predicate set_ordlist.non_empty/1.
+
+<li>We have added the predicate set_tree234.non_empty/1 and the
+  function set_tree234.from_list/1.
+
+<li>We have added the predicates set_unordlist.non_empty/1 and
+  set_unordlist.count/2, and the function set_unordlist.count/1. 
+
+<li>All of the modules in the standard library that implement the set ADT,
+  (set, set_ordlist, set_unordlist, set_bbbtree, set_tree234,
+  and set_ctree234), now support folding over sets with up to six
+  accumulators.  Modes that provide unique and mostly-unique accumulators
+  for set fold have also been added.
+
+<li>We have made the following changes to the array module of the standard
+  library:
+
+  <ul>
+  <li>We have added the functions unsafe_elem/2 and append/2.
+
+  <li>We have added the predicates svset/4, unsafe_svset/4, foldl2/4, foldl2/6,
+    foldr/4, foldr2/6, map_foldl/5, map_corresponding_foldl/6, and member/2.
+  </ul>
+
+<li>We have added the predicates version_array.foldl2/6, version_array.foldr/4,
+  and version_array.foldr2/6 to the standard library.
+
+<li>We have added semidet modes with unique and mostly-unique accumulators for
+  the following predicates:
+	<ul>
+	<li>bimap.foldl2/6
+	<li>bimap.foldl3/8
+	<li>cord.foldl_pred/4
+  	<li>cord.map_foldl/5
+	<li>list.map_corresponding_foldl2/8
+	<li>list.map_corresponding_foldl3/10
+	<li>list.map_corresponding3_foldl/7
+	<li>map.foldl3/8
+	</ul>
+
+<li>We have added the predicate unsorted_aggregate2/6 to the solutions module
+  of the standard library.
+
+<li>We have added several predicates and functions to the require module
+  of the standard library. The predicates sorry/2 and sorry/3 report
+  the absence of a feature, while the predicates unexpected/2 and unexpected/3
+  report an internal error in the program; all have function versions too.
+  The predicate expect/3 calls unexpected if a condition isn't satisfied.
+  We now have expect/4 as well as expect/3. For expect/4 as well as expect/3,
+  the first and last arguments are the expected condition and the error message
+  respectively, but with expect/4, there are two arguments in the middle
+  to specify the location of the error (normally the name of the module
+  and of the predicate respectively). We also added expect_not/3 and
+  expect_not/4, which are like expect/3 and expect/4 respectively,
+  except they expect the condition to be *false*, not true.
+</ul>
+
+<p>
+Changes to the Mercury compiler:
+
+<ul>
+<li>We have added a new backend that generates C#.
+
+<li>Support for building and linking against frameworks on Mac OS X has been improved.
+</ul>
+
+<p>
+Changes to the extras distribution:
+
+<ul>
+<li>We have added a binding to the Cairo 2D graphics library.
+</ul>
+
+
+<h3>DETAILED LISTING</h3>
+
+<p>
+Changes to the Mercury compiler:
+
+<ul>
+<li>We have added a new backend that generates C#.
+  For more details, see the README.CSharp.
+<p>
+  The new backend was contributed by
+  <a href="http://www.missioncriticalit.com/">Mission Critical IT</a>.
+
+<li>We have added two new options, `--framework' and `--framework-directory'
+  in order to simplify building and linking against frameworks on Mac OS X.
+  (-F is supported as a synonym for `--framework-directory'.)
+
+<li>Switches on strings in which all output arguments in all switch arms are
+  bound to constants are now implemented using lookup tables on the LLDS
+  back end. This should make the generated code more compact as well as faster.
+</ul>
Index: download/include/release.inc
===================================================================
RCS file: /home/mercury/mercury1/repository/w3/download/include/release.inc,v
retrieving revision 1.52
diff -u -r1.52 release.inc
--- download/include/release.inc	8 Nov 2010 23:35:54 -0000	1.52
+++ download/include/release.inc	27 Apr 2011 00:36:29 -0000
@@ -60,19 +60,19 @@
  ?>
  <h2><a name="info">Current Release</a></h2>

-Mercury 10.04.2 was released on October 5, 2010.
+Mercury 11.01 was released on April 27, 2011.

  <h3>Information</h3>

  <ul>
-<li> <a href = "release-10.04.html">
-     Release notes for 10.04
+<li> <a href = "release-11.01.html">
+     Release notes for 11.01
       </a>
-<li> <a href = "release-10.04-contents.html">
-     Contents of release 10.04 distribution
+<li> <a href = "release-11.01-contents.html">
+     Contents of release 11.01 distribution
       </a>
-<li> <a href = "release-10.04-bugs.html">
-     Known problems with release 10.04
+<li> <a href = "release-11.01-bugs.html">
+     Known problems with release 11.01
       </a>
  <li> <a href = "limitations.html">
       Limitations of the current release.
@@ -87,7 +87,8 @@

  <ul>
      <li> x86 and x86-64 machines running Linux 
-    <li> x86 machines running Microsoft Windows XP
+    <li> x86 and x86-64 machines running Microsoft Windows XP 3, Windows 7,
+         and Windows Server 2008 R2.
      <li> Apple Intel machines (both x86 and x86-64) running Mac OS X 10.5 and above
  </ul>

@@ -152,22 +153,19 @@
  <dl>
  <dt> Compiler (25 Mb)
  <dd> 
-<? links_to_file("mercury-compiler-10.04.2.tar.gz", "yes") ?>
+<? links_to_file("mercury-compiler-11.01.tar.gz", "yes") ?>
  <p>

  <dt> Extras (750 kb)
  <dd>
-<? links_to_file("mercury-extras-10.04.2.tar.gz", "no") ?>
+<? links_to_file("mercury-extras-11.01.tar.gz", "no") ?>
  <p>

  <dt> Tests (1 Mb)
  <dd>
-<? links_to_file("mercury-tests-10.04.2.tar.gz", "no") ?>
+<? links_to_file("mercury-tests-11.01.tar.gz", "no") ?>
  </dl>

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

-The <a href="http://code.google.com/p/winmercury/">winmercury</a> project
-creates binary distributions of Mercury optimized for use on the Windows platform.
-
-There are no other binary distributions for 10.04.2 currently available.
+There are no binary distributions for 11.01 currently available.
Index: news/newsdb.inc
===================================================================
RCS file: /home/mercury/mercury1/repository/w3/news/newsdb.inc,v
retrieving revision 1.127
diff -u -r1.127 newsdb.inc
--- news/newsdb.inc	23 Dec 2010 04:43:30 -0000	1.127
+++ news/newsdb.inc	26 Apr 2011 14:35:02 -0000
@@ -21,6 +21,14 @@
  */

  $newsdb = array(
+"27th April 2011" => array("New release",
+
+"We are pleased to announce the release of version 11.01 of the
+Mercury system.  The new release can be downloaded 
+<a href=\"download/release.html\">here</a>.  For a list of the changes since
+the last version see the <a href=\"download/release-11.01.html\">release notes</a>."
+),
+
  "23rd December 2010" => array("11.01 beta release available",
  "Beta releases of Mercury 11.01 are available <a href=\"download.html\">here</a>.
  "),

--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list