[m-rev.] for post-commit review: update release notes for 13.05 release
Paul Bone
paul at bone.id.au
Wed Apr 24 16:11:51 AEST 2013
On Wed, Apr 24, 2013 at 03:43:33PM +1000, Julien Fischer wrote:
> Update release notes for 13.05 release.
>
> RELEASE_NOTES:
> Mercury now works on 64-bit Windows.
>
> Update email and web addresses for the project.
>
> The distribution is no longer split into three parts.
>
> Mention that we have a module for doing arithmetic on
> fixed-point numbers.
>
> Mention the GLFW binding.
> The Mercury team are no longer at the University of
> Melbourne. (And the CSSE departement no longer exists
> by that name, anyway.)
>
> Julien.
Your e-mails are formatted strangely lately (this week I think). You might
want to fix this.
> diff --git a/RELEASE_NOTES b/RELEASE_NOTES
> index 5504ac2..69531b7 100644
> --- a/RELEASE_NOTES
> +++ b/RELEASE_NOTES
> @@ -1,5 +1,5 @@
>
> -We are pleased to announce the release of version 12.08 of the Mercury
> system.
> +We are pleased to announce the release of version 13.05 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
> @@ -18,112 +18,112 @@ For a list of what's new in this release, see the
> NEWS file.
> The main features of Mercury are:
>
> o Mercury is purely declarative: predicates and functions
> - in Mercury do not have non-logical side effects.
> -
> - Mercury does I/O through built-in and library predicates that
> - take an old state of the world and some other parameters, and
> - return a new state of the world and possibly some other
> - results. The language requires that the input argument
> - representing the old state of the world be the last reference
> - to the old state of the world, thus allowing it the state of
> - the world to be updated destructively. The language also
> - requires that I/O take place only in parts of the program where
> - backtracking will not be needed.
> -
> - Mercury handles dynamic data structures not through Prolog's
> - assert/retract but by providing several abstract data types in
> - the standard Mercury library that manage collections of items
> - with different operations and tradeoffs.
> + in Mercury do not have non-logical side effects.
> +
> + Mercury does I/O through built-in and library predicates that
> + take an old state of the world and some other parameters, and
> + return a new state of the world and possibly some other
> + results. The language requires that the input argument
> + representing the old state of the world be the last reference
> + to the old state of the world, thus allowing it the state of
> + the world to be updated destructively. The language also
> + requires that I/O take place only in parts of the program where
> + backtracking will not be needed.
I suggest:
The language requires that the input argument representing the state of the
world before a call be the most recent reference to the state of the world.
> +
> + Mercury handles dynamic data structures not through Prolog's
> + assert/retract but by providing several abstract data types in
> + the standard Mercury library that manage collections of items
> + with different operations and tradeoffs.
>
I suggest removing the Prolog comparison. Only prolog programmers find this
helpful and I think it gets in the way of the point for other readers.
[snip]
>
> o Mercury has a module system. Programs consist of one or more
> - modules. Each module has an interface section that contains
> - the declarations for the types, functions and predicates
> - exported from the module, and an implementation section that
> - contains the definitions of the exported entities and also
> - definitions for types and predicates that are local to the
> - module. A type whose name is exported but whose definition is
> - not, can be manipulated only by predicates in the defining
> - module; this is how Mercury implements abstract data types.
> - For predicates and functions that are not exported, Mercury
> - supports automatic type, mode, and determinism inference.
> + modules. Each module has an interface section that contains
> + the declarations for the types, functions and predicates
> + exported from the module, and an implementation section that
> + contains the definitions of the exported entities and also
> + definitions for types and predicates that are local to the
> + module. A type whose name is exported but whose definition is
> + not, can be manipulated only by predicates in the defining
> + module; this is how Mercury implements abstract data types.
> + For predicates and functions that are not exported, Mercury
> + supports automatic type, mode, and determinism inference.
>
This might be a good place to say that this isn't enabled by default. The
programmer must give mmc some options, and what those options are.
> o Mercury supports higher-order programming,
> - with closures, currying, and lambda expressions.
> + with closures, currying, and lambda expressions.
>
> o Mercury is very efficient (in comparison with existing logic
> - programming languages). Strong types, modes, and determinism
> - provide the compiler with the information it needs to generate
> - very efficient code.
> + programming languages). Strong types, modes, and determinism
> + provide the compiler with the information it needs to generate
> + very efficient code.
>
> The Mercury compiler is written in Mercury itself. It was originally
> bootstrapped using NU-Prolog and SICStus Prolog. This was possible
> @@ -144,8 +144,8 @@ The Mercury compiler can also compile Mercury programs
> to Java, C# or
> Erlang. See README.Java, README.CSharp, and README.Erlang respectively
> for further details.
>
> -The current Mercury system has been tested on Linux (x86), Linux (x86_64),
> -Mac OS X (x86 and x86_64), and Windows (x86).
> +The current Mercury system has been tested on Linux (x86 and x86_64),
> +Mac OS X (x86 and x86_64), and Windows (x86 and x86_64).
> For Windows, we have tested this release on Windows XP SP3, Windows 7,
> and Windows Server 2008 R2.
>
> @@ -156,17 +156,18 @@ Mac OS X (PowerPc) and Windows 95, 98, ME, NT and
> 2000.
>
> It should run without too many changes on other Unix variants as well.
> If you do encounter any problems, please report them to via the
> -Mercury bug tracking system at <http://bugs.mercury.csse.unimelb.edu.au>
> +Mercury bug tracking system at <http://bugs.mercurylang.org>
> (see the BUGS file).
I need to change this URL when I fix SSL. Remind me to do this before we
release.
--
Paul Bone
http://www.bone.id.au
More information about the reviews
mailing list