[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