[m-rev.] diff: documentation for 0.13 release

Julien Fischer juliensf at csse.unimelb.edu.au
Thu Sep 7 11:56:01 AEST 2006


NOTE: this is not the final version of the NEWS file for 0.13

Estimated hours taken: 1.5
Branches: main, release

Prepare for the 0.13 release and fix/update documentation.

NEWS:
HISTORY:
 	Update the NEWS and HISTORY files for the 0.13 release.

RELEASE_NOTES:
 	s/0.12/0.13/

 	Add Linux/x86_64 to the list of architectures supported by this
 	release.

 	Remove Solaris 8/x86 from the same list.

.README.in:
extras/README:
 	Remove references to the clp(r) binding.  We no longer support it.

bindist/bindist.README:
 	Update the year in the copyright message.

 	Fix the gc version; 0.13 uses 6.5.

BUGS:
README.DotNet:
README.Java:
README.gcc-backend:
doc/faq.texi:
doc/make_manpage:
doc/mercury.html.in:
doc/mercury.info.in:
 	s/.cs.mu.oz.au/.csse.unimelb.edu.au/

library/array.m:
library/builtin.m:
library/eqvclass.m:
library/graph.m:
samples/README:
 	Fix typos.

Julien.

Index: .README.in
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/.README.in,v
retrieving revision 1.16
diff -u -r1.16 .README.in
--- .README.in	14 Mar 2006 06:00:02 -0000	1.16
+++ .README.in	7 Sep 2006 01:17:37 -0000
@@ -64,10 +64,6 @@
  	Sun Microsystems, Inc., and other parties.
  	See the file extras/graphics/mtogl/LICENSE.TK.

-	The CLP(R) v1.2 implementation in extras/clpr/clpr is copyright
-	by IBM; see the file extras/clpr/clpr/README for details, in
-	particular the RESEARCH SOFTWARE DISCLAIMER and USER AGREEMENT.
-
  THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
  EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.  See the file COPYING.

@@ -84,7 +80,7 @@
  	README.Linux-Alpha	Linux on DEC Alpha
  	README.Linux-PPC	Linux on PowerPC
  	README.Linux-m68k	Linux on Motorola 68000
-	README.MacOS		Apple PowerPC Mac systems running MacOS 10
+	README.MacOS		Apple PowerPC Mac systems running Mac OS X
  	README.MS-Windows	Microsoft Windows
  	README.OSF1		DEC Alpha systems running OSF/1 version 3.x
  	README.Solaris		Solaris (SunOS) on SPARC or Intel x86.
@@ -107,16 +103,18 @@
  in the `extras' directory.

  For more information about Mercury, see the Mercury WWW home page at
-<http://www.cs.mu.oz.au/mercury/>, or send mail to mercury at cs.mu.oz.au.
+<http://www.mercury.csse.unimelb.edu.au>, or send mail to
+mercury at csse.unimelb.edu.au.

  If you would like to join the Mercury mailing lists (there are two,
  mercury-users for general discussion, and mercury-announce for
  announcements), send mail with "subscribe" in the body to
-mercury-users-request at cs.mu.oz.au or mercury-announce-request at cs.mu.oz.au
-(respectively).
+mercury-users-request at csse.unimelb.edu.au or
+mercury-announce-request at csse.unimelb.edu.au (respectively).

  Please send bug reports, enhancement requests, suggestions for improvements,
-and any other feedback to mercury-bugs at cs.mu.oz.au or mercury at cs.mu.oz.au.
+and any other feedback to mercury-bugs at csse.unimelb.edu.au or
+mercury at csse.unmimelb.edu.au.
  If you find something you don't like, please tell us.
  If you find something you do like, please tell the world!

@@ -124,7 +122,7 @@
  from the following locations:

  	Home site:
-	    Australia:	ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/
+	    Australia:	ftp://ftp.mercury.csse.unimelb.edu.au/pub/mercury/

  	Mirrors:
  	    Greece:	ftp://ftp.ntua.gr/pub/lang/mercury/
Index: BUGS
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/BUGS,v
retrieving revision 1.21
diff -u -r1.21 BUGS
--- BUGS	27 Apr 2005 03:27:22 -0000	1.21
+++ BUGS	7 Sep 2006 01:21:15 -0000
@@ -1,4 +1,4 @@
-Bug reports should be sent to mercury-bugs at cs.mu.oz.au.
+Bug reports should be sent to mercury-bugs at csse.unimelb.edu.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
@@ -12,7 +12,7 @@

  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>.
+on our WWW page <http://www.mercury.csse.unimelb.edu.au>.
  In addition to the bugs mentioned here, some bugs related
  to the implementation of particular languages features
  (existential types, nested modules, tabling)
Index: HISTORY
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/HISTORY,v
retrieving revision 1.27
diff -u -r1.27 HISTORY
--- HISTORY	20 Mar 2006 06:13:33 -0000	1.27
+++ HISTORY	6 Sep 2006 08:10:55 -0000
@@ -2439,13 +2439,469 @@
  Mercury 0.12, September 9, 2005
  -------------------------------

+HIGHLIGHTS
+==========
+
+Changes to the Mercury language:
+* Infix `.' is now accepted as a module name separator.
+* 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.
+* We now support impure higher-order code.
+* We now allow user-defined comparison predicates.
+* User-defined equality and comparison predicates for a type are now
+  required to be defined in the same module as the type.
+* Experimental support for user-defined constrained types has been added.
+* We now support the use of `..' as an infix operator.
+
+Changes to the Mercury standard library:
+* 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.
+* 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.
+* The dir module now handles Microsoft Windows pathnames correctly.
+
+Changes to the Mercury compiler:
+* We have added optional support for a new type-accurate garbage collector
+  as an alternative to using the Boehm et al conservative collector.
+* Better support for incremental program development:
+  there's two new compiler options, `--allow-stubs' and `--no-warn-stubs',
+  to support execution of incomplete programs.
+* There's a new warning option `--warn-dead-procs' for detecting unreachable
+  code.
+* It's now easier to use shared libraries on Linux/x86 systems
+  with `mmc --make'.
+* A new analysis: `--analyse-exceptions'.
+  The compiler can use the results of this analysis to try and improve
+  some optimizations.
+
+Portability improvements:
+* We have made the implementation compatible with gcc 3.4.
+* Shared libraries now work on Mac OS X.
+
+Changes to the Mercury debugger:
+* Users can now arrange to have the goal and/or some variables printed
+  every time execution arrives at a breakpoint.
+* Users can now arrange to associate a condition with a breakpoint.
+  Execution won't stop at the breakpoint if the condition is false.
+* Users can now limit the output from stack traces.
+* Users can now put breakpoints on unify and compare predicates.
+* Users can now save runtime values to files.
+* Users can now tell the declarative debugger to trust entire modules or 
+  individual predicates or functions.
+* The declarative debugger can track the origins of subterms.
+* The declarative debugger can now use the divide-and-query search strategy.
+
+Changes to the compiler back-ends:
+* The .NET CLR back-end now bootstraps.
+* Improvements to the Java back-end.
+* The cost in disk space of enabling debugging is now much smaller.
+
+Numerous minor improvements to the Mercury standard library.
+
+Changes to the extras distribution:
+* Added easyx, a new Xlib based graphics library suitable for implementing
+  simple interactive graphical applications.
+* Major improvements to the OpenGL binding.
+* We've added a binding to GLUT (the GL utility toolkit).
+* The OpenGL, GLUT and Tcl/Tk bindings have been ported to Mac OS X.
+
+DETAILED LISTING
+================
+
+Changes to the Mercury language:
+
+* The deprecated support for NU-Prolog style `when' declarations has been
+  removed. 
+
+* 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.
+
+* 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.
+
+* User-defined equality and comparison predicates for a type are now
+  required to be defined in the same module as the type.
+
+* 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.
+
+* 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
+
+  	:- func a ^ f(b) = c.
+	:- mode a ^ f(b) = c is <detism>.
+	A ^ f(B) = ...
+
+* Mercury's support for impure code now also includes support for
+  impure higher-order code.
+ 
+  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.
+
+  For details, see the "Higher-order impurity" section of the "Impurity"
+  chapter of the Mercury Language Reference Manual.
+
+* `..' is now accepted as an infix operator.  That means a list of
+  successive integers can now be written as X .. Y.  For example:
+
+	1 .. 5 = [1, 2, 3, 4, 5]
+
+
+Changes to the Mercury standard library:
+
+* 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.
+
+* We've added the function pqueue.from_assoc_list/1 as a synonym
+  for pqueue.assoc_list_to_pqueue/1.
+
+* 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.
+
+* 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.
+
+* 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.
+
+* The predicate int.to_float/2 has now been deprecated.
+
+* We've added a new library module, `array2d', for two-dimensional arrays.
+
+* 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.
+
+* The dir module now handles Microsoft Windows pathnames correctly.
+
+* 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.
+
+* We've added some new predicates and functions to the dir module:
+	basename_det/1,
+	expand_braces/1,
+	is_directory_separator/1,
+	make_directory/4,
+	make_single_directory/4,
+	foldl2/6,
+	parent_directory/0,
+	path_name_is_absolute/1,
+	path_name_is_root_directory/1,
+	recursive_foldl2/7.
+
+* We've added several new predicates to the io module:
+	have_symlinks/0,
+	make_symlink/4,
+	follow_symlink/4,
+	check_file_accessibility/5,
+	file_type/4,
+	input_stream_foldl2_io_maybe_stop/{6,7},
+	binary_input_stream_foldl2_io_maybe_stop/{6,7}.
+
+* We've added several new predicates and functions to the bimap module:
+	det_insert,
+	forward_search,
+	reverse_search,
+	from_corresponding_lists,
+	map_keys,
+	map_values,
+	det_insert_from_assoc_list,
+	det_insert_from_corresponding_lists,
+	set_from_assoc_list,
+	set_from_corresponding_lists,
+	delete_key,
+	delete_value,
+	delete_keys,
+	delete_values,
+	overlay,
+	apply_forward_map_to_list,
+	apply_reverse_map_to_list,
+	foldl
+
+* We've added predicates relation__lookup_key_set_from/3 and
+  relation__lookup_key_set_to/3.
+
+* 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.
+
+* Efficiency of the operations in the relation module has been
+  greatly improved.
+
+* Some predicates and functions have been added to the sparse_bitset module:
+	to_set/1,
+	from_set/1,
+	member/2,
+	foldl/4,
+	foldr/4.
+
+* 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.
+
+* exception.m now contains a predicate throw_if_near_stack_limits which
+  can be used to prevent an application running out of stack space.
+
+* We've changed the interface of exception.try_all/2 to separate
+  exceptional results from normal results.
+
+* We've added predicates multi_map.to_flat_assoc_list/2 and
+  multi_map.from_flat_assoc_list/2. 
+
+* 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. 
+
+* We've added some new predicates, list__map2_foldl, list__map_foldl3,
+  and list__foldl4 to list.m.
+
+* 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. 
+
+* We've added some new predicates, map__common_subset, map__foldl3,
+  map__overlay_large_map and map__transform_value, to map.m.
+
+* We've added a predicate, map_fold, to set.m.
+
+* We've added a function, pred_to_bool, to bool.m.
+
+* 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.
+
+* We've added a function version of `hash_table__search/3'.
+
+* We've added a predicate, copy_mutvar, to store.m.
+
+* We've added a function, clk_tck, to time.m.
+
+* builtin.m now contains types and insts `unify' and `compare' for use
+  in defining user-defined equality and comparison predicates.
+
+* 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'.
+
+* We've fixed some problems with the use of `cc_nondet'.
+
+  The incorrect cc_nondet modes of the following predicates have been removed:
+	deconstruct.arg/4
+	deconstruct.named_arg/4
+	deconstruct.limited_deconstruct/6
+	std_util.arg_cc/3
+	std_util.argument_cc/3
+	std_util.named_argument_cc/3
+	std_util.limited_deconstruct_cc/5
+  These have been replaced by cc_multi versions in which success or failure
+  is indicated by returning a maybe type.
+
+* We've added functions get_equivalent_elements, get_minimum_element and 
+  remove_equivalent_elements to eqvclass.m.
+
+* We've added semidet functions max_key and min_key to return the maximum and
+  minimum keys in maps and 2-3-4 trees.
+
+* We've added predicates member, remove_leq, remove_gt, foldl and filter
+  to sparse_bitset.m.
+
+* builtin.m now contains types and insts `unify' and `compare' for use
+  in defining user-defined equality and comparison predicates.
+
+* The following predicates, which were added in 0.11.0, have been deprecated:
+	io.current_input_stream/3
+	io.current_output_stream/3
+	io.current_binary_input_stream/3
+	io.current_binary_output_stream/3
+  They were identical to the following long-existing predicates with
+  similar names:
+	io.input_stream/3
+	io.output_stream/3
+	io.binary_input_stream/3
+	io.binary_output_stream/3
+
+* The following functions have been added to the integer module:
+	integer.zero/0
+	integer.one/0
+	integer.det_from_string/1
+	integer.pow/2
+ 
+  The predicate integer.pow/3 has been deprecated. 
+
+* 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.
+
+* 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.
+
+Changes to the Mercury compiler:
+
+* We have added optional support for a new type-accurate garbage collector
+  as an alternative to using the Boehm et al conservative collector.
+
+  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.
+
+  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.
+
+* There's a new warning option `--warn-dead-procs' which can be used
+  for detecting unreachable code.
+
+  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.
+
+* `mmc --make' now works correctly with Microsoft Visual C++.
+
+* 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.
+
+* 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.
+
+* 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.
+
+* 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.
+
+* The Mercury compiler now uses `.' and not `:' as the module separator
+  in all output.
+
+* 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.
+
+* 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. 
+
+Portability improvements:
+
+* We have made the implementation compatible with gcc 3.4.
+* Shared libraries now work on Mac OS X.
+
+Changes to the Mercury debugger:
+
+* Users can now limit the output from stack traces.
+
+  The mdb command `stack' now takes an optional integer argument that
+  specifies the maximum number of stack frames to be printed.
+
+* Users can now put breakpoints on unify and compare predicates.
+
+  The syntax for procedure specifications now has provision for specifying
+  unify and compare predicates.
+
+* Users can now save runtime values to files.
+
+  We've added a new mdb command, `save_to_file', that saves a specified term
+  to a specified file.
+
+* The declarative debugger can now be told to trust entire modules or 
+  individual predicates or functions using the `trust' mdb command.
+
+* 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).
+
+* 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'.
+
+* The "pretty" and "raw_pretty" print formats have had their names swapped, so
+  the "pretty" format is now prettier than the "raw_pretty" format.
+
+Changes to the compiler back-ends:
+
+* The .NET CLR back-end now bootstraps.
+
+  We've fixed a lot of bugs, and implemented a lot more of the Mercury
+  standard library.  As well as being able to bootstrap in grade `il',
+  we also now pass more than 90% of the applicable tests in the
+  Mercury test suite.  See README.DotNet for details.
+
+* Improvements to the Java back-end.
+
+  We've fixed a lot of bugs, and implemented a lot more of the Mercury
+  standard library.  See README.Java for further details on the status
+  of this backend.
+
  Mercury 0.12.1, November 21, 2005
  ---------------------------------

+This release is primarily a bug-fix release.
+It fixes a problem with predicates that have existentially typed
+arguments, makes sure that I/O tabling does not inadvertently
+inline predicates that have a `:- pragma no_inline' declaration
+attached to them, and makes various improvements to the MS-Windows
+ports.
+
  Mercury 0.12.2, January 25, 2006
  ---------------------------------

-See the NEWS file.
+This release fixes some bugs with `mmc --make' and `--smart-recompilation'.
+

  .NET CLR back-end history
  -------------------------
Index: LIMITATIONS
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/LIMITATIONS,v
retrieving revision 1.13
diff -u -r1.13 LIMITATIONS
--- LIMITATIONS	30 May 1998 15:22:16 -0000	1.13
+++ LIMITATIONS	6 Sep 2006 08:17:51 -0000
@@ -22,6 +22,6 @@
  * Higher order terms are limited to arity of about 500.

  These limits can be lifted (with some effort), but would possibly incur
-performance penalties. Contact the Mercury team (mercury at cs.mu.oz.au) if
-you find these limits are affecting your application.
+performance penalties. Contact the Mercury team (mercury at csse.unimelb.edu.au)
+if you find these limits are affecting your application.

Index: NEWS
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/NEWS,v
retrieving revision 1.409.2.3
diff -u -r1.409.2.3 NEWS
--- NEWS	30 May 2006 08:03:58 -0000	1.409.2.3
+++ NEWS	6 Sep 2006 08:11:44 -0000
@@ -1,5 +1,5 @@
-NEWS since Mercury 0.12
------------------------
+NEWS for Mercury 0.13
+---------------------

  HIGHLIGHTS
  ==========
@@ -328,473 +328,4 @@
    multiple hosts (by default, 1).


-NEWS for Mercury 0.12.2
-----------------------
-
-This release fixes some bugs with `mmc --make' and `--smart-recompilation'.
-
-
-NEWS for Mercury 0.12.1
-------------------------
-
-This release is primarily a bug-fix release.
-It fixes a problem with predicates that have existentially typed
-arguments, makes sure that I/O tabling does not inadvertently
-inline predicates that have a `:- pragma no_inline' declaration
-attached to them, and makes various improvements to the MS-Windows
-ports.
-
-
-NEWS for Mercury 0.12
----------------------
-
-HIGHLIGHTS
-==========
-
-Changes to the Mercury language:
-* Infix `.' is now accepted as a module name separator.
-* 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.
-* We now support impure higher-order code.
-* We now allow user-defined comparison predicates.
-* User-defined equality and comparison predicates for a type are now
-  required to be defined in the same module as the type.
-* Experimental support for user-defined constrained types has been added.
-* We now support the use of `..' as an infix operator.
-
-Changes to the Mercury standard library:
-* 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.
-* 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.
-* The dir module now handles Microsoft Windows pathnames correctly.
-
-Changes to the Mercury compiler:
-* We have added optional support for a new type-accurate garbage collector
-  as an alternative to using the Boehm et al conservative collector.
-* Better support for incremental program development:
-  there's two new compiler options, `--allow-stubs' and `--no-warn-stubs',
-  to support execution of incomplete programs.
-* There's a new warning option `--warn-dead-procs' for detecting unreachable
-  code.
-* It's now easier to use shared libraries on Linux/x86 systems
-  with `mmc --make'.
-* A new analysis: `--analyse-exceptions'.
-  The compiler can use the results of this analysis to try and improve
-  some optimizations.
-
-Portability improvements:
-* We have made the implementation compatible with gcc 3.4.
-* Shared libraries now work on Mac OS X.
-
-Changes to the Mercury debugger:
-* Users can now arrange to have the goal and/or some variables printed
-  every time execution arrives at a breakpoint.
-* Users can now arrange to associate a condition with a breakpoint.
-  Execution won't stop at the breakpoint if the condition is false.
-* Users can now limit the output from stack traces.
-* Users can now put breakpoints on unify and compare predicates.
-* Users can now save runtime values to files.
-* Users can now tell the declarative debugger to trust entire modules or 
-  individual predicates or functions.
-* The declarative debugger can track the origins of subterms.
-* The declarative debugger can now use the divide-and-query search strategy.
-
-Changes to the compiler back-ends:
-* The .NET CLR back-end now bootstraps.
-* Improvements to the Java back-end.
-* The cost in disk space of enabling debugging is now much smaller.
-
-Numerous minor improvements to the Mercury standard library.
-
-Changes to the extras distribution:
-* Added easyx, a new Xlib based graphics library suitable for implementing
-  simple interactive graphical applications.
-* Major improvements to the OpenGL binding.
-* We've added a binding to GLUT (the GL utility toolkit).
-* The OpenGL, GLUT and Tcl/Tk bindings have been ported to Mac OS X.
-
-DETAILED LISTING
-================
-
-Changes to the Mercury language:
-
-* The deprecated support for NU-Prolog style `when' declarations has been
-  removed. 
-
-* 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.
-
-* 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.
-
-* User-defined equality and comparison predicates for a type are now
-  required to be defined in the same module as the type.
-
-* 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.
-
-* 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
-
-  	:- func a ^ f(b) = c.
-	:- mode a ^ f(b) = c is <detism>.
-	A ^ f(B) = ...
-
-* Mercury's support for impure code now also includes support for
-  impure higher-order code.
- 
-  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.
-
-  For details, see the "Higher-order impurity" section of the "Impurity"
-  chapter of the Mercury Language Reference Manual.
-
-* `..' is now accepted as an infix operator.  That means a list of
-  successive integers can now be written as X .. Y.  For example:
-
-	1 .. 5 = [1, 2, 3, 4, 5]
-
-
-Changes to the Mercury standard library:
-
-* 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.
-
-* We've added the function pqueue.from_assoc_list/1 as a synonym
-  for pqueue.assoc_list_to_pqueue/1.
-
-* 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.
-
-* 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.
-
-* 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.
-
-* The predicate int.to_float/2 has now been deprecated.
-
-* We've added a new library module, `array2d', for two-dimensional arrays.
-
-* 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.
-
-* The dir module now handles Microsoft Windows pathnames correctly.
-
-* 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.
-
-* We've added some new predicates and functions to the dir module:
-	basename_det/1,
-	expand_braces/1,
-	is_directory_separator/1,
-	make_directory/4,
-	make_single_directory/4,
-	foldl2/6,
-	parent_directory/0,
-	path_name_is_absolute/1,
-	path_name_is_root_directory/1,
-	recursive_foldl2/7.
-
-* We've added several new predicates to the io module:
-	have_symlinks/0,
-	make_symlink/4,
-	follow_symlink/4,
-	check_file_accessibility/5,
-	file_type/4,
-	input_stream_foldl2_io_maybe_stop/{6,7},
-	binary_input_stream_foldl2_io_maybe_stop/{6,7}.
-
-* We've added several new predicates and functions to the bimap module:
-	det_insert,
-	forward_search,
-	reverse_search,
-	from_corresponding_lists,
-	map_keys,
-	map_values,
-	det_insert_from_assoc_list,
-	det_insert_from_corresponding_lists,
-	set_from_assoc_list,
-	set_from_corresponding_lists,
-	delete_key,
-	delete_value,
-	delete_keys,
-	delete_values,
-	overlay,
-	apply_forward_map_to_list,
-	apply_reverse_map_to_list,
-	foldl
-
-* We've added predicates relation__lookup_key_set_from/3 and
-  relation__lookup_key_set_to/3.
-
-* 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.
-
-* Efficiency of the operations in the relation module has been
-  greatly improved.
-
-* Some predicates and functions have been added to the sparse_bitset module:
-	to_set/1,
-	from_set/1,
-	member/2,
-	foldl/4,
-	foldr/4.
-
-* 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.
-
-* exception.m now contains a predicate throw_if_near_stack_limits which
-  can be used to prevent an application running out of stack space.
-
-* We've changed the interface of exception.try_all/2 to separate
-  exceptional results from normal results.
-
-* We've added predicates multi_map.to_flat_assoc_list/2 and
-  multi_map.from_flat_assoc_list/2. 
-
-* 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. 
-
-* We've added some new predicates, list__map2_foldl, list__map_foldl3,
-  and list__foldl4 to list.m.
-
-* 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. 
-
-* We've added some new predicates, map__common_subset, map__foldl3,
-  map__overlay_large_map and map__transform_value, to map.m.
-
-* We've added a predicate, map_fold, to set.m.
-
-* We've added a function, pred_to_bool, to bool.m.
-
-* 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.
-
-* We've added a function version of `hash_table__search/3'.
-
-* We've added a predicate, copy_mutvar, to store.m.
-
-* We've added a function, clk_tck, to time.m.
-
-* builtin.m now contains types and insts `unify' and `compare' for use
-  in defining user-defined equality and comparison predicates.
-
-* 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'.
-
-* We've fixed some problems with the use of `cc_nondet'.
-
-  The incorrect cc_nondet modes of the following predicates have been removed:
-	deconstruct.arg/4
-	deconstruct.named_arg/4
-	deconstruct.limited_deconstruct/6
-	std_util.arg_cc/3
-	std_util.argument_cc/3
-	std_util.named_argument_cc/3
-	std_util.limited_deconstruct_cc/5
-  These have been replaced by cc_multi versions in which success or failure
-  is indicated by returning a maybe type.
-
-* We've added functions get_equivalent_elements, get_minimum_element and 
-  remove_equivalent_elements to eqvclass.m.
-
-* We've added semidet functions max_key and min_key to return the maximum and
-  minimum keys in maps and 2-3-4 trees.
-
-* We've added predicates member, remove_leq, remove_gt, foldl and filter
-  to sparse_bitset.m.
-
-* builtin.m now contains types and insts `unify' and `compare' for use
-  in defining user-defined equality and comparison predicates.
-
-* The following predicates, which were added in 0.11.0, have been deprecated:
-	io.current_input_stream/3
-	io.current_output_stream/3
-	io.current_binary_input_stream/3
-	io.current_binary_output_stream/3
-  They were identical to the following long-existing predicates with
-  similar names:
-	io.input_stream/3
-	io.output_stream/3
-	io.binary_input_stream/3
-	io.binary_output_stream/3
-
-* The following functions have been added to the integer module:
-	integer.zero/0
-	integer.one/0
-	integer.det_from_string/1
-	integer.pow/2
- 
-  The predicate integer.pow/3 has been deprecated. 
-
-* 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.
-
-* 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.
-
-Changes to the Mercury compiler:
-
-* We have added optional support for a new type-accurate garbage collector
-  as an alternative to using the Boehm et al conservative collector.
-
-  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.
-
-  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.
-
-* There's a new warning option `--warn-dead-procs' which can be used
-  for detecting unreachable code.
-
-  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.
-
-* `mmc --make' now works correctly with Microsoft Visual C++.
-
-* 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.
-
-* 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.
-
-* 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.
-
-* 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.
-
-* The Mercury compiler now uses `.' and not `:' as the module separator
-  in all output.
-
-* 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.
-
-* 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. 
-
-Portability improvements:
-
-* We have made the implementation compatible with gcc 3.4.
-* Shared libraries now work on Mac OS X.
-
-Changes to the Mercury debugger:
-
-* Users can now limit the output from stack traces.
-
-  The mdb command `stack' now takes an optional integer argument that
-  specifies the maximum number of stack frames to be printed.
-
-* Users can now put breakpoints on unify and compare predicates.
-
-  The syntax for procedure specifications now has provision for specifying
-  unify and compare predicates.
-
-* Users can now save runtime values to files.
-
-  We've added a new mdb command, `save_to_file', that saves a specified term
-  to a specified file.
-
-* The declarative debugger can now be told to trust entire modules or 
-  individual predicates or functions using the `trust' mdb command.
-
-* 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).
-
-* 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'.
-
-* The "pretty" and "raw_pretty" print formats have had their names swapped, so
-  the "pretty" format is now prettier than the "raw_pretty" format.
-
-Changes to the compiler back-ends:
-
-* The .NET CLR back-end now bootstraps.
-
-  We've fixed a lot of bugs, and implemented a lot more of the Mercury
-  standard library.  As well as being able to bootstrap in grade `il',
-  we also now pass more than 90% of the applicable tests in the
-  Mercury test suite.  See README.DotNet for details.
-
-* Improvements to the Java back-end.
-
-  We've fixed a lot of bugs, and implemented a lot more of the Mercury
-  standard library.  See README.Java for further details on the status
-  of this backend.
-
-
  For news about earlier versions, see the HISTORY file.
Index: README.DotNet
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/README.DotNet,v
retrieving revision 1.15.2.1
diff -u -r1.15.2.1 README.DotNet
--- README.DotNet	1 May 2006 06:05:40 -0000	1.15.2.1
+++ README.DotNet	7 Sep 2006 01:27:36 -0000
@@ -76,7 +76,7 @@
  	  If you're reading this file from somewhere other than the Mercury
  	  distribution, try the Mercury homepage at:

-	  	<http://www.cs.mu.oz.au/mercury/>
+	  	<http://www.mercury.csse.unimelb.edu.au>

  -----------------------------------------------------------------------------

@@ -145,7 +145,7 @@
  For more information about the foreign language interface, refer to the Mercury
  Language Reference Manual, which you can find at:

-	<http://www.cs.mu.oz.au/mercury/information/documentation.html>
+    <http://www.mercury.csse.unimelb.edu.au/information/documentation.html>

  The implementation will put this C# in a separate file, which will be
  compiled with Microsoft's C# compiler.  Mmake will automatically
@@ -187,7 +187,7 @@

  You might find the following pages useful:

-	<http://www.cs.mu.oz.au/research/mercury/dotnet.html>
+	<http://www.mercury.csse.unimelb.edu.au/dotnet.html>

  	<http://msdn.microsoft.com/netframework/>

Index: README.Java
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/README.Java,v
retrieving revision 1.8
diff -u -r1.8 README.Java
--- README.Java	30 Aug 2005 07:29:35 -0000	1.8
+++ README.Java	7 Sep 2006 01:33:20 -0000
@@ -27,7 +27,7 @@

  	  If you're reading this file from somewhere other than the
  	  Mercury distribution, try the Mercury homepage at
-	  	<http://www.cs.mu.oz.au/mercury/>
+	  	<http://www.mercury.csse.unimelb.edu.au>
  WARNING

  Please note that the Java backend is still an experimental feature.  It
@@ -80,7 +80,8 @@

  For more information about the foreign language interface, see the Mercury
  Language Reference Manual, which you can find at:
-	<http://www.cs.mu.oz.au/mercury/information/documentation.html>
+
+    <http://www.mercury.csse.unimelb.edu.au/information/documentation.html>

  -----------------------------------------------------------------------------

@@ -88,11 +89,11 @@

  You might find the following pages useful:

-	<http://www.cs.mu.oz.au/research/mercury/java.html>
+    <http://www.mercury.csse.unimelb.edu.au/backends.html>

-	<http://java.sun.com/reference/api/index.html>
+    <http://java.sun.com/reference/api/index.html>

-	<http://www.cs.mu.oz.au/mercury/information/documentation.html>
+    <http://www.mercury.csse.unimelb.edu.au/information/documentation.html>

  -----------------------------------------------------------------------------

Index: README.gcc-backend
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/README.gcc-backend,v
retrieving revision 1.1
diff -u -r1.1 README.gcc-backend
--- README.gcc-backend	24 Jun 2001 02:18:07 -0000	1.1
+++ README.gcc-backend	7 Sep 2006 01:33:38 -0000
@@ -1,2 +1,4 @@
  For information about the GCC-based native-code back-end for the Mercury
-compiler, see <http://www.cs.mu.oz.au/mercury/download/gcc-backend.html>.
+compiler, see:
+
+    <http://www.mercury.csse.unimelb.edu.au/download/gcc-backend.html>.
Index: RELEASE_NOTES
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/RELEASE_NOTES,v
retrieving revision 1.31
diff -u -r1.31 RELEASE_NOTES
--- RELEASE_NOTES	13 Sep 2005 03:36:44 -0000	1.31
+++ RELEASE_NOTES	7 Sep 2006 01:20:06 -0000
@@ -1,5 +1,5 @@

-We are pleased to announce the release of version 0.12 of the Mercury system.
+We are pleased to announce the release of version 0.13 of the Mercury system.

  Mercury is a modern general-purpose programming language, designed and
  implemented by a small group of researchers at the University of
@@ -141,8 +141,8 @@
  systems known to us.  However, the system does not need these
  extensions, and will work in their absence.

-The current Mercury system has been tested on Linux (x86),
-Solaris 8 (x86), MacOS X (PowerPC), and Windows (x86).
+The current Mercury system has been tested on Linux (x86), Linux (x86_64),
+Solaris 9 (x86), MacOS X (PowerPC), and Windows (x86).
  For Windows, we have have tested this release only on Windows XP Pro
  but it should also run fine on Windows 95, 98, ME, NT, and 2000.

@@ -152,7 +152,7 @@

  It should run without too many changes on other Unix variants as well.
  If you do encounter any problems, please report them to
-<mercury-bugs at cs.mu.oz.au> (see the BUGS file).
+<mercury-bugs at csse.unimelb.edu.au> (see the BUGS file).

  We recommend that you use gcc as the C compiler, preferably
  gcc version 3.2 or later.  Do not use gcc versions 2.96, 3.0
@@ -188,7 +188,6 @@
       o  concurrency
       o  arithmetic
          -  arithmetic on complex and imaginary numbers
-        -  a CLP(R) interface, i.e. constraint solving over real numbers
       o  a set of generic stream type classes
       o	an autotesting tool similar to Haskell's QuickCheck
       o  UIs:
@@ -212,7 +211,7 @@
  via anonymous ftp or WWW from the following locations:

  	Australia:
-		ftp://ftp.mercury.cs.mu.oz.au/pub/mercury
+		ftp://ftp.mercury.csse.unimelb.edu.au/pub/mercury

  We hope to be able to make it available at the following sites
  too, eventually:
@@ -227,9 +226,10 @@
  	Europe:
  		ftp://ftp.csd.uu.se/pub/Mercury

-The home page of the project on the Web is <http://www.cs.mu.oz.au/mercury/>.
+The home page of the project on the Web is
+<http://www.mercury.csse.unimelb.edu.au>

  --
-The Mercury Team <http://www.cs.mu.oz.au/mercury/people.html>
+The Mercury Team <http://www.mercury.csse.unimelb.edu.au/contact/people.html>
  Department of Computer Science and Software Engineering
  The University of Melbourne, Australia
Index: bindist/bindist.README
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/bindist/bindist.README,v
retrieving revision 1.14
diff -u -r1.14 bindist.README
--- bindist/bindist.README	14 Feb 2005 02:34:30 -0000	1.14
+++ bindist/bindist.README	7 Sep 2006 01:28:25 -0000
@@ -3,7 +3,7 @@
  built on a `<FULLARCH>' system.

  The Mercury implementation is free software, but it is Copyright (C)
-1993-2005 The University of Melbourne.  It is distributed under the
+1993-2006 The University of Melbourne.  It is distributed under the
  terms of the GNU General Public License.  See the file COPYING for
  copying permission.  The Mercury library and runtime (libmer_std.* and
  libmer_rt.*) are distributed under the terms of the GNU Library General
@@ -13,7 +13,7 @@
  if the need should arise.)

  This distribution also contains a slightly modified version of the
-conservative garbage collector distributed by Hans Boehm, version 5.0alpha3,
+conservative garbage collector distributed by Hans Boehm, version 6.5,
  which has the following copyright attached (taken from the README file
  of the garbage collector source):

@@ -50,10 +50,6 @@
  	Sun Microsystems, Inc., and other parties.
  	See the file extras/graphics/mtogl/LICENSE.TK.

-	The CLP(R) v1.2 implementation in extras/clpr/clpr is copyright
-	by IBM; see the file extras/clpr/clpr/README for details, in
-	particular the RESEARCH SOFTWARE DISCLAIMER and USER AGREEMENT.
-
  THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
  EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.  See the file COPYING.

@@ -71,16 +67,18 @@
  the Mercury compiler and the Mercury profiler are written in Mercury.

  For more information about Mercury, see the Mercury WWW home page at
-<http://www.cs.mu.oz.au/mercury/>, or send mail to mercury at cs.mu.oz.au.
+<http://www.mercury.csse.unimelb.edu.au>, or send mail to
+mercury at csse.unimelb.edu.au.

  If you would like to join the Mercury mailing lists (there are two,
  mercury-users for general discussion, and mercury-announce for
  announcements), send mail with "subscribe" in the body to
-mercury-users-request at cs.mu.oz.au or mercury-announce-request at cs.mu.oz.au
-(respectively).
+mercury-users-request at csse.unimelb.edu.au or
+mercury-announce-request at csse.unimelb.edu.au (respectively).

  Please send bug reports, enhancement requests, suggestions for improvements,
-and any other feedback to mercury-bugs at cs.mu.oz.au or mercury at cs.mu.oz.au.
+and any other feedback to mercury-bugs at csse.unimelb.edu.au or
+mercury at csse.unimelb.edu.au.
  If you find something you don't like, please tell us.
  If you find something you do like, please tell the world!

@@ -88,7 +86,7 @@
  ftp or WWW from the following locations:

  	Home site:
-	    Australia:	ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/
+	    Australia:	ftp://ftp.mercury.csse.unimelb.edu.au/pub/mercury/

  	Mirrors:
  	    Sweden:	ftp://ftp.csd.uu.se/pub/Mercury/
Index: doc/faq.texi
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/doc/faq.texi,v
retrieving revision 1.30
diff -u -r1.30 faq.texi
--- doc/faq.texi	25 Jan 2006 03:46:29 -0000	1.30
+++ doc/faq.texi	7 Sep 2006 01:30:13 -0000
@@ -248,7 +248,7 @@
  but it still didn't work. What do I do next?}
  @sp 1

-Send email to @code{mercury-bugs@@cs.mu.oz.au},
+Send email to @code{mercury-bugs@@csse.unimelb.edu.au},
  and we'll try to solve your problem.

  @end enumerate
Index: doc/make_manpage
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/doc/make_manpage,v
retrieving revision 1.9
diff -u -r1.9 make_manpage
--- doc/make_manpage	10 Oct 2002 10:43:32 -0000	1.9
+++ doc/make_manpage	7 Sep 2006 01:31:07 -0000
@@ -100,13 +100,13 @@
  .SH AUTHORS
  The Mercury team.
  .P
-See <http://www.cs.mu.oz.au/mercury/contact/people.html>.
+See <http://www.mercury.csse.unimelb.edu.au/contact/people.html>.
  .SH COPYRIGHT
  This program and its documentation are copyright by the University of Melbourne.
  They may be copied only under the terms of the GNU General Public License \-
  see the file COPYING in the Mercury distribution.
  .SH "SEE ALSO"
-<http://www.cs.mu.oz.au/mercury/information/documentation.html>
+<http://www.mercury.csse.unimelb.edu.au/information/documentation.html>
  .P
  The Mercury User's Guide.
  .P
Index: doc/mercury.html.in
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/doc/mercury.html.in,v
retrieving revision 1.3
diff -u -r1.3 mercury.html.in
--- doc/mercury.html.in	27 Feb 2005 22:10:15 -0000	1.3
+++ doc/mercury.html.in	7 Sep 2006 01:29:34 -0000
@@ -16,7 +16,7 @@
  </UL>
  <P>
  <UL>
-<LI><A HREF="http://www.cs.mu.oz.au/mercury">Mercury Home Page</A>
+<LI><A HREF="http://www.mercury.csse.unimelb.edu.au">Mercury Home Page</A>
  </UL>
  </BODY>
  </HTML>
Index: doc/mercury.info.in
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/doc/mercury.info.in,v
retrieving revision 1.2
diff -u -r1.2 mercury.info.in
--- doc/mercury.info.in	3 Oct 2001 13:47:25 -0000	1.2
+++ doc/mercury.info.in	7 Sep 2006 01:31:39 -0000
@@ -18,5 +18,5 @@
  * Prolog to Mercury Transition Guide: (mercury_trans_guide)
  * Frequently Asked Questions: (mercury_faq)

-See also the Mercury WWW home page <http://www.cs.mu.oz.au/mercury/>.
+See also the Mercury WWW home page <http://www.mercury.csse.unimelb.edu.au>.

Index: extras/README
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/extras/README,v
retrieving revision 1.17
diff -u -r1.17 README
--- extras/README	26 Oct 2005 05:04:14 -0000	1.17
+++ extras/README	6 Sep 2006 08:25:49 -0000
@@ -8,10 +8,6 @@
  cgi		A couple of Mercury library modules for doing HTML forms
  		programming using CGI (Common Gateway Interface).

-clpr		A Mercury interface to the CLP(R) constraint solver,
-		for solving arithmetic constraints on (floating point)
-		real numbers.
-
  complex_numbers
  		A Mercury library package containing support for
  		complex and imaginary numbers.
@@ -34,9 +30,9 @@
  		that are supported by most modern Unix systems.

  graphics	Some packages for doing graphics programming
-		and GUIs in Mercury: a Mercury interface to tcl/tk,
-		a Mercury binding to OpenGL and a Mercury binding to
-		GLUT.
+		and GUIs in Mercury: a Mercury interface to Tcl/Tk,
+		a Mercury binding to OpenGL, a Mercury binding to
+		GLUT and a simplified binding to Xlib.

  lazy_evaluation
  		A library module `lazy' containing support for optional
@@ -44,7 +40,7 @@
  		of its use, including a module `lazy_list' that defines
  		a lazy list data type.

-lex		A lexer package for Mercury that works over io__states,
+lex		A lexer package for Mercury that works over the I/O state,
  		strings, and so forth.  It comes with a rich set of
  		standard regular expressions and the user is free to add
  		their own. 
Index: library/array.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/array.m,v
retrieving revision 1.144.2.1
diff -u -r1.144.2.1 array.m
--- library/array.m	31 Jul 2006 06:01:45 -0000	1.144.2.1
+++ library/array.m	6 Sep 2006 08:27:03 -0000
@@ -608,7 +608,7 @@
      // XXX A better solution then using the null pointer to represent
      // the empty array would be to create an array of size 0.  However
      // we need to determine the element type of the array before we can
-    // do that.  This could be done by examing the RTTI of the array
+    // do that.  This could be done by examining the RTTI of the array
      // type and then using System.Type.GetType(""<mercury type>"") to
      // determine it.  However constructing the <mercury type> string is
      // a non-trival amount of work.
Index: library/builtin.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/builtin.m,v
retrieving revision 1.119.2.1
diff -u -r1.119.2.1 builtin.m
--- library/builtin.m	31 Jul 2006 06:01:48 -0000	1.119.2.1
+++ library/builtin.m	6 Sep 2006 08:29:06 -0000
@@ -128,7 +128,7 @@
  % PREDICATES.
  %
  % Most of these probably ought to be moved to another
-% module in the standard library such as util.m.
+% module in the standard library such as std_util.m.

      % copy/2 makes a deep copy of a data structure.  The resulting copy is
      % a `unique' value, so you can use destructive update on it.
Index: library/eqvclass.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/eqvclass.m,v
retrieving revision 1.21.2.1
diff -u -r1.21.2.1 eqvclass.m
--- library/eqvclass.m	31 Jul 2006 06:01:49 -0000	1.21.2.1
+++ library/eqvclass.m	6 Sep 2006 08:32:22 -0000
@@ -24,7 +24,7 @@
  :- type eqvclass(T).
  :- type partition_id.

-    % Create an empty equivalance class.
+    % Create an empty equivalence class.
      %
  :- func eqvclass.init = eqvclass(T).
  :- pred eqvclass.init(eqvclass(T)::out) is det.
Index: library/graph.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/graph.m,v
retrieving revision 1.28.2.1
diff -u -r1.28.2.1 graph.m
--- library/graph.m	31 Jul 2006 06:01:51 -0000	1.28.2.1
+++ library/graph.m	6 Sep 2006 08:33:55 -0000
@@ -82,7 +82,7 @@

      % graph.search_node(Graph, NodeInfo, Node) nondeterministically
      % produces bindings of Node such that Node is a node in Graph
-    % that has the information NodeInfo attatched to it.
+    % that has the information NodeInfo attached to it.
      %
      % This operation is O(lgN) for the first solution for a graph
      % containing N nodes.
Index: samples/README
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/samples/README,v
retrieving revision 1.7
diff -u -r1.7 README
--- samples/README	8 Nov 2001 15:30:39 -0000	1.7
+++ samples/README	6 Sep 2006 08:23:58 -0000
@@ -20,7 +20,7 @@

  calculator2.m		A simple four-function arithmetic calculator,
  			which uses the parser module in the standard
-			library with a user-defined operator precendence
+			library with a user-defined operator precedence
  			table.

  committed_choice.m	An example illustrating committed-choice

--------------------------------------------------------------------------
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