for review: Announcing Mercury 0.8

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Nov 18 17:25:18 AEDT 1998


Could someone please review the following announcement,
before I post it everywhere?

The NEWS file was so long that I decided to summarize it
for the announcement.

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

We are pleased to announce the release of version 0.8 of the Mercury system.

Mercury is a new general-purpose programming language, designed and
implemented by a group of researchers at the University of Melbourne,
Australia.  Mercury is based on the paradigm of purely declarative
programming, and was designed to be useful for the development of large
and robust ``real-world'' applications.  It improves on existing logic
programming languages by providing increased productivity, reliability
and efficiency, and by avoiding the need for non-logical program
constructs.  Mercury provides the traditional logic programming syntax,
but also allows the syntactic convenience of user-defined functions,
smoothly integrating logic and functional programming into a single
paradigm.

For more information about Mercury, see the Mercury WWW page at
<http://www.cs.mu.oz.au/mercury>.  For information about where
you can download Mercury 0.8, see the end of this message.

The following list contains a brief summary of the major new features
in releases 0.8.  For full details, see the NEWS file in the distribution
or <http://www.cs.mu.oz.au/mercury/release.html-0.8.html>.

Changes to the Mercury language:
- The type system now includes support for Haskell-style type classes.
- The module system now includes support for nested sub-modules.
- We have made some improvements to the C interface.
- We have added support for automatic tabling (memoization).
- We have added (tentative) support for exception handling.

Changes to the Mercury implementation:
- The implementation now includes a Mercury debugger.
- We've added a new source-to-source transformation: deforestation.
- The compiler can now perform type specialization.
- The Mercury profiler now supports memory profiling.

The following list summarizes the major new features in release 0.7.2.
For full details, see the NEWS file in the distribution or
<http://www.cs.mu.oz.au/mercury/release.html-0.7.2.html>.

Changes to the Mercury language:
- We have added some support for constraint handling.
- The C interface now includes generalized trailing support.
- It is now possible to stop the compiler from optimizing "impure"
  Mercury code inappropriately.
- We now support user-defined equality predicates.

Changes to the Mercury standard library:
- We have added support for arbitrary precision integers and
  arbitrary precision rational numbers.

New library packages in the `extras' distribution:
- We have added a CLP(R) interface.
- We have added some support for Prolog-style variables and coroutining.
- We have added library modules for backtrackable destructive update.
- We have added an interface to ODBC databases in extras/odbc. 

Changes to the Mercury compiler:
- We have added support for termination analysis.

The Mercury distribution is available via anonymous ftp or WWW
from the following locations:

	Australia:
		ftp://turiel.cs.mu.oz.au/pub/mercury

We hope to be able to make it available at the following sites
too, eventually:

	Sunsite and mirrors: (source distribution only)
		ftp://sunsite.unc.edu/pub/Linux/Incoming
		ftp://sunsite.unc.edu/pub/linux/devel/lang/mercury

	USA:
		ftp://ftp.cs.sunysb.edu/pub/XSB/mercury

	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 Mercury Team <http://www.cs.mu.oz.au/mercury/people.html>
Department of Computer Science, The University of Melbourne, Australia



More information about the developers mailing list