[m-rev.] for review: NEWS for 0.13

Ian MacLarty maclarty at csse.unimelb.edu.au
Mon Sep 11 18:25:08 AEST 2006


On Mon, Sep 11, 2006 at 05:28:32PM +1000, Julien Fischer wrote:
> 
> The following is the NEWS file for the 0.13 release.  Could everyone 
> please take a minute to read through it and check that it is correct.
> In particular, is there anything missing that should be mentioned (or 
> something mentioned that shouldn't be)?
> 
> NEWS for Mercury 0.13
> ---------------------
> 
> HIGHLIGHTS
> ==========
> 
> Changes to the Mercury language:
> * The Mercury typeclass system now supports functional dependencies.
> * A new language construct allows programmers to promise that any given
>   goal is pure or semipure.
> * Two new language constructs allow programmers to promise that all 
> solutions
>   of a given goal are equivalent with respect to the relevant equality
>   theories.
> * We now have support for optional module initialisation and finalisation.
> * We now have support for module-local mutable variables.
> * We now have support for recognizing switches in which multiple switch arms
>   have shared code.
> * A new pragma allows programmers to promise that in a predicate or function
>   defined by mode-specific clauses, the mode-specific definitions have
>   equivalent semantics.
> * We now allow users to control how each argument of a `pragma memo' 
> predicate
>   is tabled.
> * Support for the old-style lambda, mode and pragma syntax has been removed.
> * ':' is now the type qualification operator, not a module qualifier.
> * To ensure soundness, goals in negated contexts using non-local variables
>   with dynamic modes (inst "any") must now be marked as impure.
> 
> Changes to the Mercury standard library:
> * We have removed the predicates dealing with runtime type information 
> (RTTI)
>   from std_util.m. Any users impacted by this change should look for 
>   required
>   functionality in the construct, deconstruct and type_desc modules of the
>   standard library, in forms that have been mostly unchanged since the
>   0.11 release. In most cases, the differences are quite minor, but provide
>   more expressive power.
> * We have moved the all-solutions predicates from std_util.m into a new
>   library module, solutions.m.  These predicates are still available in
>   std_util.m but these versions are now deprecated.
> * We have made the predicates semidet_succeed/0, semidet_fail/0 and
>   cc_multi_equal/2 into builtins.

I think the above sentence would sound better if you deleted "into"
(or replace "made" by "turned").

> Formerly these were exported by 
>   std_util.m.
> * We have added an `injection' module, for reversible maps that are 
> injective.
> 
> Changes to the Mercury compiler:
> * The compiler now generates error messages for mismatches between format
>   strings and lists of values to be printed in calls to string.format and
>   io.format.
> * The compiler now generates better error messages for determinism errors
>   involving single-solution contexts.
> * We have significantly improved the compiler's performance on predicates
>   with many clauses.
> * We have deleted the old --split-c-files option, as it conflicted with the
>   implementation of module initialisation and finalisation.
> 
> Portability Improvements:
> * We've ported Mercury to the x86_64 (AMD64 / Intel EMT64) architecture.
> 
> Changes to the Mercury debugger:
> * Users can now see a listing of the source code lines referred to by the
>   current environment (see the documentation for the `list' command in
>   the Mercury Users' Guide).
> * Users can now keep hold of a term, referring to it even when execution has
>   left the goal at which the term was available as the value of a program
>   variable.
> * Users can now see the set of places where two terms differ from each 
> other.
> * The `set' command has been replaced by several other commands: the 
> `format',
>   `format_param', `list_context_lines', `list_path', `xml_browser_cmd',
>   `xml_tmp_filename', `fail_trace_counts', `pass_trace_counts' and
>   `max_io_actions' commands.
> * The `save_to_file' command has been renamed the `dump' command.
> * The `save' command now saves the entire persistent state of the debugger
>   (with one small exception that cannot be reestablished by an mdb command 
>   from
>   an arbitrary point of execution).

The part in parenthesis seems a bit convoluted.  Could you not just say
"(with the exception of XXX)".  (I'm not sure what XXX is).

> * The declarative debugger now supports an `undo' command, and allows users 
> to
>   select the search algorithm.
> * The declarative debugger can now exploit information from the "code
>   footprints" of passed and failed test cases to find bugs with fewer
>   questions. We have also added two tools, mslice and mdice, to manipulate
>   files containing such footprints.

There is also mtc_union, however these tools are still experimental and
have not been properly documented.  I'll see if I can add some
documentation to the user guide this week.

...
> 
> Changes to the extras distribution:
> 
> * We've added a library of data structures designed to work for solver 
> types.
> 
>   The module extras/solver_types contains versions of the standard
>   library's array, assoc_list, list and map modules that are designed to
>   work with terms that have inst `any'.
> 
> * We've added a library to generate Windows installer packages.
> 
>   The directory extras/windows_installer_generator contains a library to
>   generate Wix source files.  WiX is an XML language that is used to 

s/Wix/WiX/

>   generate
>   Microsoft Windows Installer (.msi) packages.
> 
> * We've added a program to generate optimisation flags for the compiler.
> 
>   The directory extras/gator contains a program to search for the
>   optimal set of compiler flags for a given program.  The search
>   algorithm used is a genetic algorithm, which can run in parallel over
>   multiple hosts (by default, 1).
> 

Looks fine otherwise.

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