From fjh at cs.mu.OZ.AU Wed Nov 18 18:19:37 1998 From: fjh at cs.mu.OZ.AU (Fergus Henderson) Date: Wed, 18 Nov 1998 18:19:37 +1100 Subject: Announcing Mercury 0.8 In-Reply-To: <19981118174620.23116@mundook.cs.mu.OZ.AU>; from Fergus Henderson on Wed, Nov 18, 1998 at 05:46:20PM +1100 References: <199811180632.281@munta.cs.mu.OZ.AU> <19981118174620.23116@mundook.cs.mu.OZ.AU> Message-ID: <19981118181937.20900@mundook.cs.mu.OZ.AU> 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 . 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 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 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 . -- The Mercury Team Department of Computer Science, The University of Melbourne, Australia