Announcing Mercury 0.8
Fergus Henderson
fjh at cs.mu.OZ.AU
Wed Nov 18 18:19:37 AEDT 1998
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
changes between release 0.7.2 and release 0.8. For full details,
see <http://www.cs.mu.oz.au/mercury/release.html-0.8.html>
or the NEWS file in the distribution.
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 contains a brief summary of the major
changes between release 0.7 and release 0.7.2. For full details,
see <http://www.cs.mu.oz.au/mercury/release.html-0.7.2.html>
or the NEWS file in the distribution.
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/contact/people.html>
Department of Computer Science, The University of Melbourne, Australia
More information about the announce
mailing list