News
If you see a feature that has been added and that you would like to try out, you can download our release of the day.
- Color Diagnostics- The Mercury compiler now uses color in diagnostic messages by default. For details, see the new "Diagnostic output" chapter of the Mercury Users' Guide in the current release of the day. 24 June 2024
- Mercury 22.01.8 released- Release Information is available here. 17 September 2023
- Mercury 22.01.7 released- Release Information is available here. 30 July 2023
- Mercury 22.01.6 released- Release Information is available here. 10 May 2023
- Mercury 22.01.5 released- Release Information is available here. 31 December 2022
- Mercury 22.01.4 released- Release Information is available here. 13 November 2022
- Mercury 22.01.3 released- Release Information is available here. 09 July 2022
- Mercury 22.01.2 released- Release Information is available here. 19 June 2022
- Mercury 22.01.1 released- Release Information is available here. 20 April 2022
- Mercury 22.01 released- Release Information is available here. 31 March 2022
- 22.01 beta release available- Beta versions of the upcoming 22.01 release are available on the downloads page. 24 January 2022
- Subtypes support- The latest releases of the day now support subtypes. You can read about subtypes in the reference manual. 16 April 2021
- Mercury 20.06.1 released- Release Information is available here. 03 November 2020
- Mercury 20.06 released- Release Information is available here. 30 June 2020
- 20.06 beta release available- Beta versions of the upcoming 20.06 release are available on the downloads page. 02 June 2020
- Mercury 20.01.2 released- Release Information is available here. 03 May 2020
- Mercury 20.01.1 released- Release Information is available here. 01 March 2020
- Mercury 20.01 released- Release Information is available here. 28 January 2020
- 20.01 beta release available- Beta versions of the upcoming 20.01 release are available on the downloads page. 10 January 2020
- musl libc support- Mercury now works with systems that use the musl C library. 09 January 2018
- Unsigned Integers- We have added a new builtin primitive type: uint. This type provides unsigned integers of the same size as Mercury's int type. The new type is available in the latest release of the day. 13 June 2017
- New Presentations- Paul Bone introduced Mercury in a presentation to the Melbourne Functional User Group. His slides are available on the Papers page. The slides from Paul's Ph.D. completion seminar have also been made available 07 April 2015
- Mercury 14.01.1 released- Release Information is available here. 08 September 2014
- Windows binary packages for Mercury 14.01 available- Windows binary packages for Mercury 14.01 using either MinGW GCC or Visual Studio 2013 (32-bit only) are now available on the downloads page. 19 February 2014
- Mercury 14.01 released- Release information is available here. 10 February 2014
- 14.01 beta release available- Beta versions of the upcoming 14.01 release are available on the downloads page. 03 January 2014
- Mercury 13.05.2 released- Release Information is available here. 03 December 2013
- Windows binary package for 13.05.1 available- A Windows binary package for Mercury 13.05.1 is now available on the downloads page. 19 August 2013
- 13.05.2 beta release available- Beta versions of the upcoming 13.05.2 release are available on the downloads page. 24 June 2013
- Mercury 13.05.1 released- Release information is available here. 14 June 2013
- 13.05.1 beta release available- We're preparing a point release that will fix some problems in 13.05. The first beta version of this point release is available on the downloads page. 28 May 2013
- Paul Bone's Ph.D. dissertation is now available- Paul's Ph.D. dissertation, titled Automatic Parallelisation for Mercury, has been examined and is now available for download on the Mercury papers page. 19 May 2013
- Mercury 13.05 released- We are pleased to announce the release of version 13.05 of the Mercury system. The new release can be downloaded from the downloads page. For a list of changes since the last version see the release notes. 16 May 2013
- Website redesign- We have updated the website. Thanks to YesLogic for the new design! 06 May 2013
- 13.05 beta release available- It's been a busy time and we never got around to releasing Mercury 12.08. Since it's been so long we've decided to abandon the 12.08 release and try again with 13.05. This means the new release will have more features and fixes than if we'd released version 12.08 now. The beta releases of Mercury 13.05 are available here. 02 May 2013
- Downloads and documentation are available again- We have put both the documentation and some downloads back online. However, until we setup a periodic build system these may be updated only intermittently. Also, the downloads available do not yet include historical versions of Mercury. 17 April 2013
- 64-bit Windows support- Generation of 64-bit code on Windows using the MinGW64 version of GCC is now supported. 08 April 2013
- Mercury has left the University- There are no more people working on the Mercury project who are also working at the University of Melbourne. As such it has become necessary to move the project outside the University so that we can continue to support it. There have already been a number of changes such as a new website address, new mailing lists and we're now using git and github.com for our VCS. Today the server at the University stopped working and we've re-located the website to the new server, but a number of links are broken including the all-important downloads section. We will fix this in the next few days. and post another update here. 24 March 2013
- 12.08 beta release available- Beta releases of Mercury 12.08 are available here. 13 August 2012
- Mercury 11.07.2 released- Release information is available here. 03 August 2012
- Mercury 11.07.1 released- Release information is available here. 02 March 2012
- New paper- A new paper and presentation have been added to the papers page. These describe how parallel conjunctions with recursive calls can be handled more efficiently, especially with regard to memory usage. 28 January 2012
- New release- We are pleased to announce the release of version 11.07 of the Mercury system. The new release can be downloaded here. For a list of the changes since the last version see the release notes. 22 December 2011
- Three new papers- Three new papers about parallelism in Mercury have been added to the papers page. Associated with each paper is a presentation that was given at ICLP 2011. The presentations are also available on the papers page. 15 August 2011
- 11.07 beta release available- Beta releases of Mercury 11.07 are available here. 29 June 2011
- Mercury featured on dotnetrocks.com podcast- dotnetrocks.com recently interviewed Paul Bone about Mercury and some of its features including Declarative Debugging and Automatic Parallelism. The podcast episode can be found here. 14 June 2011
- New presentation- The slides for a presentation about the Mercury project that was given at the Linux Users of Victoria's June 2011 meeting are now available from the papers page. 07 June 2011
- New release- We are pleased to announce the release of version 11.01 of the Mercury system. The new release can be downloaded here. For a list of the changes since the last version see the release notes. 27 April 2011
- 11.01 beta release available- Beta releases of Mercury 11.01 are available here. 23 December 2010
- Cairo binding- The latest development version of the Mercury extras distribution now contains a Mercury binding to the Cairo 2D graphics library. See the files in extras/graphics/mercury_cairo for details. 20 December 2010
- New Presentation- The slides for a Google Tech Talk and a seminar at The University of New South Wales about "Automatic Parallelisation for Mercury" are now available from the papers page 06 December 2010
- C# backend- The Mercury compiler now has a C# backend, which was under development during the last few months. It works with Microsoft .NET and Mono, and is available in the current releases of the day. 23 November 2010
- Mercury 10.04.2 released- Release information is available here. 05 October 2010
- Mercury 10.04.1 released- Release information is available here. 30 August 2010
- New release- We are pleased to announce the release of version 10.04 of the Mercury system. The new release can be downloaded here. For a list of the changes since the last version see the release notes. 19 July 2010
- New paper and new slides- A new paper, Towards Software Transactional Memory for Real-World Programs, has been added to our papers page. It describes recent work on Software Transactional Memory in Mercury. - A set of slides from a talk given at LinuxConf in Wellington regarding automatic parallelisation are also available from the papers page. 23 March 2010
- 10.04 beta release available- The first beta of 10.04 is available here. 04 February 2010
- New release schedule and naming scheme- The Mercury project has decided to adopt a 6 monthly release schedule with each release being named by the year and month of the release. The next planned release is 10.04 which is due for release in April 2010. 01 February 2010
- New papers- We have several papers available from our papers page that describe region-based memory management in Mercury. 03 December 2009
- GCC 4.x support- You can now use GCC 4.1 - 4.4 to build Mercury programs in low-level C grades, on Linux/x86 and Linux/x86-64. You will need a release of the day. 30 November 2009
- Java backend- The Java backend was restored and improved over the last few months. It works well! You will need a release of the day. 25 September 2009
- New Presentation- The slides for a recent talk entitled "Writing Business Rules Engines in Mercury" are now available from the papers page. 27 July 2009
- RSS Feed- You can now receive Mercury news items via an RSS feed by subscribing to the following URL: http://www.mercury.csse.unimelb.edu.au/rss.xml 09 February 2009
- New standard library modules- We have added two new modules to the standard library: parsing_utils and calendar. parsing_utils is a set of utilities to help with writing recursive descent parsers. calendar contains utilities for working with dates in the Gregorian calendar. Both modules are available in the latest release of the day. 05 February 2009
- New paper- We have a new paper available from our papers page that describes some recent work on automatically introducing parallelism in Mercury programs based on profiling data. 03 November 2008
- Google protocol buffers for Mercury- Google protocol buffers allows a extensible binary protocol to be defined in a programming language independent .proto file. The protoc compiler then generates APIs for the protocol in C++, Java or Python. protoc has recently been extended with basic support for Mercury. The extension is available from the protobuf-mercury project site. 13 October 2008
- Currying of multi-moded predicates- We now support currying of multi-moded predicates where the mode to use can be determined from the curried arguments. For example one can now use expressions such as list.foldl(list.foldl(int.plus), [[1, 2], [3, 4]], 0), that previously had to be written using explicit lambda expressions. This feature was added by Mission Critical Australia. 29 April 2008
- Implementation-defined literals- We now support "implementation-defined literals". These are symbolic names that are replaced by context-dependent values at compile time. Examples include $file, which is replaced by a string containing the name of the file in which it appears, and $line which is replaced by an integer representing the current line number. This feature was added by Mission Critical Australia. 28 April 2008
- Three new papers- We have three new papers available from our papers page. One is on the handling of large predicates by Prolog and Mercury implementations, one is on a software transactional memory system for Mercury, and one is a comparison of packrat parsing and memoed DCG parsers. 01 November 2007
- Bug Tracking System- The Mercury project now uses the Mantis bug tracking system to keep track of bug reports. The Mercury bug database may be accessed via the Bug Database link in the menu at the side of this page. 21 September 2007
- New Paper and Talk- A paper and a presentation have been added to the papers page describing how Mission Critical is using Mercury in the "real world". 14 August 2007
- Erlang backend- There's a new back-end for the Mercury compiler that compiles to Erlang, so that Mercury programs can run on the Erlang runtime system. The goal is to allow Mercury programs to take advantage of the Erlang implementation's support for scalable and reliable server programs. It also allows for interoperability between Mercury and Erlang code. This back-end was implemented by Mission Critical IT (Australia). 06 August 2007
- Remove support for Unicode characters in string literals- This feature has been removed because of concerns that it might lead users to believe that Mercury offers full Unicode support, which is not the case. 06 March 2007
- Mercury 0.13.1 released- Release information is available here. 01 December 2006
- New paper- We have a new paper available from our papers page that describes some recent work on parallelism support in Mercury. 30 October 2006
- New release- We are pleased to announce the release of version 0.13 of the Mercury system. The new release can be downloaded here. For a list of the changes since version 0.12 see the release notes. 14 September 2006
- Support for Unicode characters in string literals- The escape sequences \uXXXX and \UXXXXXXXX can now be used to encode Unicode characters in string literals, where XXXX (or XXXXXXXX) is the code point of the desired character in hexadecimal. The latest release of the day includes support for this feature. 08 August 2006
- Mercury 0.13.0-beta available- A beta version of the upcoming 0.13.0 release in now available from the download page. 04 April 2006
- New presentation- A presentation titled "Unclean! Unclean! or Purity issues in declarative constraint logic programming" has been added to the presentations section on our papers page. 28 March 2006
- Mercury 0.12.2 released- Release information is available here. 25 January 2006
- Three new papers- Three new papers titled "Controlling search space materialization in a practical declarative debugger", "Adding constraint solving to Mercury" and "Tabling in Mercury: design and implementation" are now available from our papers page. 11 December 2005
- Mercury 0.12.1 released- Release information is available here. 21 November 2005
- New release- We are pleased to announce the release of version 0.12 of the Mercury system. The new release can be downloaded here. For a list of the changes since version 0.11 see the release notes. 09 September 2005
- Two new papers- Two new papers titled "Divide-and-query and subterm dependency tracking in the Mercury declarative debugger" and "The implementation of minimal model tabling in Mercury (extended abstract)" are now available from our papers page. 08 August 2005
- Functional dependencies- We've added support for functional dependencies to the typeclass system. See the "Type classes" chapter of the Mercury Language Reference Manual for details. The latest release of the day includes support for this language feature. 11 May 2005
- Updated and expanded tutorial available- A much improved tutorial is now available from the documentation section. 10 April 2005
- Mercury 0.12.0-beta available- A beta version of the upcoming 0.12.0 release in now available from the snapshot section. 04 April 2005
- New goal types- We've added three new types of goal to the language. `promise_equivalent_solutions' goals allow the programmer to promise that all the solutions generated by a goal are equivalent. This makes working with multi- or non-deterministic code easier. `promise_pure' and `promise_semipure' goals allow the programmer to make promises about the purity of arbitrary goals. See the "Goals" section of the "Syntax" chapter of the Mercury Language Reference Manual for more details. release of the day includes support for these new goal types. 21 March 2005
- New PhD thesis- A new PhD thesis on Mercury, Compile-time garbage collection for the declarative language Mercury by Nancy Mazur, is now available from our papers page. 25 February 2005
- New Standard Library to Convert Mercury Terms to XML Documents- A new module `term_to_xml' has been added to the standard library. This module contains predicates to write arbitrary Mercury terms to an output stream as XML. Automatic generation of DTDs for Mercury types is also supported. Once a Mercury term is in XML it can be converted to many other formats such as HTML or XUL using an appropriate stylesheet. 09 December 2004
- Shared Library Support for Mac OS X- Shared Mercury libraries now work on Mac OS X. The standard Mercury libraries are also now dynamically linked by default, greatly reducing the size of executables. 19 October 2004
- The 2004 ICFP Programming Contest- A team of Mercury developers submitted an entry for the 2004 ICFP Programming contest. We won't know how well we did until the results are posted after the ICFP conference, later this year. 10 June 2004
- New PhD thesis- A new PhD thesis on the Mercury mode system, Precise and Expressive Mode Systems for Typed Logic Programming Languages by David Overton, is now available from our papers page. 21 January 2004
- Accurate garbage collection- The high-level C back-end now supports accurate garbage collection, as an alternative to using the Boehm (et al) conservative collector. There is a paper that describes the new garbage collector. For more details, see the files compiler/ml_elim_nested.m and runtime/mercury_accurate_gc.c in the latest Mercury source distribution. 25 Sep 2003
- .NET back-end bootstraps- We reached a major milestone for the .NET back-end: the Mercury compiler successfully bootstrapped with '--grade il'. See this link for details on the current status of the .NET back-end. 21 Feb 2003
- Mercury 0.11.0 released- Release information is available here. 24 Dec 2002
- New Paper,- We have a new paper available from our papers page that describes the design and implementation of a new termination analyser for Mercury. 12 November 2002
- New build system- The compiler now accepts a `--make' option, which performs most of the functions of Mmake. The advantages of `mmc --make' are that no `mmake depend' step is necessary and the dependencies are more accurate. Parallel builds are not yet supported. See the "Using Mmake" chapter of the Mercury User's Guide. `mmc --make' is available in the latest release of the day. 23 October 2002
- Two PhD theses- Two PhD theses on Mercury are now available from our papers page. They are: Expressive type systems for logic programming languages by David Jeffery, and Towards parallel Mercury by Thomas Conway. 17 August 2002
- Three papers- Three papers on Mercury are now available from our papers page. Two will be presented at PPDP '02 in October: Constraint-Based Mode Analysis of Mercury by David Overton, Zoltan Somogyi and Peter Stuckey, and Using the Heap to Eliminate Stack Accesses by Zoltan Somogyi and Peter Stuckey. The third was presented at ISMM '02 in June: Accurate garbage collection in an uncooperative environment by Fergus Henderson. 15 July 2002
- State variables- We've added some extra syntax to the language to support programming with `state variables'. State variables are intended to make it easier to deal with sequences of values. For example, where previously one would have to name each value in a sequence X0, X1, X2, ..., X, now it is possible to use a state variable !X, which will be translated into ordinary, non-state variable Mercury, automatically naming the sequence values. !X stands for two arguments, !.X and !:X, where !.X is interpreted as the "current" sequence value under consideration and !:X is taken as the "next" sequence value. State variable syntax should be used in preference to DCG notation for threading the IO state in future. See the "State variables" section of the "Syntax" chapter of the Mercury Language Reference Manual for more details. 10 July 2002
- Unification expressions- We've added a new kind of expression to the language. A unification expression, written `X @ Y', unifies X and Y and returns the result. Unification expressions are most useful when writing switches. See the "Data-terms" section of the "Syntax" chapter of the Mercury Language Reference Manual for more details. The latest release of the day includes support for unification expressions. 13 November 2001
- New paper- Our BABEL'01 paper, on compiling Mercury to the .NET Common Language Runtime, is now available from our papers page. 04 November 2001
- New paper- We have a new paper available from our papers page, which outlines the design of the back end that generates high level C. 26 October 2001
- Smart recompilation- The Mercury compiler can now perform smart recompilation. With smart recompilation, when the interface of a module changes, only modules which use the changed declarations are recompiled. The latest release of the day includes support for smart recompilation. 13 August 2001
- ICFP 2001 programming contest entry- See our report on our ICFP 2001 programming contest entry. 04 August 2001
- New paper and demo- We have a new paper available from our papers page, which describes the design and implementation of the Mercury deep profiler. This new profiler generates profiling information that is significantly more accurate and more detailed than the information produced by most other profilers. A description and demo of the deep profiler is also available. 01 August 2001
- New paper- We have a new paper available from our papers page, which describes the design and implementation of a compile time garbage collection and memory reuse system in the Melbourne Mercury compiler. 18 May 2001
- Mercury 0.10.1 released- Release information is available here. 04 Apr 2001
- Mercury 0.10 released- Release information is available here. 25 Feb 2001
- Native code back-end- There's a new back-end for the Mercury compiler that compiles directly to assembler, rather than going via C. The new back-end is implemented by linking the Mercury compiler with the (relatively) language independent GNU Compiler Collection back-end. In other words, there is now a Mercury front-end for GCC! 19 Feb 2001
- Events and Reports- Two new sections have been added to the web site. The events section will give information about events Mercury has been involved in -- we start this section with a page on Mercury coming 4th (of 38 teams) in the ICFP 2000 programming contest. The reports section contains regular reports from the developers, such as minutes from Mercury meetings. Both are available from the sidebar menu. 05 Oct 2000
- Two new papers- Two new papers on Mercury are now available from our papers page. One describes a binding-time analysis for higher order code, while the other describes an analysis for detecting whether a memory cell is available for reuse. 04 Oct 2000
- Tuple types- We've added support for tuple types, similar to those in most other functional languages. Tuples use the syntax `{A, B, ...}'. See the "Builtin types" section of the "Types" chapter of the Mercury Language Reference Manual for details. The latest release of the day includes support for tuple types. 22 Sep 2000
- Remote CVS access- We've made anonymous remote CVS access available to the Mercury CVS archive. A page describing how to use remote CVS is available here. Mercury, the test suite, MCORBA, and even these web pages are available via CVS. 09 Aug 2000
- Mercury and Microsoft's .NET- A page outlining the status of Mercury on Microsoft's new .NET framework is now available here. 26 Jul 2000
- Completed paper- The full version of Making Mercury Programs Tail Recursive is now available from our papers page. The paper describes two optimizations, implemented in the Mercury compiler, which make predicates tail recursive. 11 Apr 2000
- More new papers- Another two new papers on Mercury are now available from our papers page. One describes using purity declarations for building foreign language interfaces, while the other details the update transformation, an optimization that can help re-order state updates into better positions for other optimizations. 05 Apr 2000
- New papers- Two new papers on Mercury are now available from our papers page. One describes a binding-time analysis, while the other describes an analysis for detecting whether a memory cell is available for reuse. 21 Feb 2000
- Mercury 0.9.1 released- Mercury 0.9.1 fixes a few bugs in Mercury 0.9, including a few problems with binary distributions. Release information can be found here. 26 Jan 2000
- Morphine released- Morphine, a trace analysis system for Mercury, has just been added to the Mercury distribution (and will be available in Mercury 0.9.1). Morphine allows dynamic tracing of Mercury programs, allowing scripts to be written which interact with the debugger and efficient collection of statistics on running programs. Many thanks to Erwan Jahier for his hard work on Morphine. 19 Jan 2000
- Record syntax- We've added support for record syntax, so that fields of constructors can be conveniently extracted and updated without writing lots of trivial access predicates. See the "Field access functions" section of the "Types" chapter of the Mercury Language Reference Manual for details. The syntax is available in our latest release of the day. 16 Jan 2000
- Mercury 0.9 released- We've just released the long-awaited version 0.9. Release information can be found here. 18 Dec 1999
- A paper on the Mercury debugger- A new paper on Mercury is now available from our papers page: it describes the technology we use to implement the Mercury debugger. 17 Nov 1999
- Time module- The standard library now includes a module `time' which provides an interface to the ANSI/ISO C <time.h> functions and to the POSIX times() function. Thanks to Tomas By for contributing the original version of this module. 28 Oct 1999
- Exception handling- Exception handling support is now part of the standard library. The module `exception', which was previously part of the "extras" distribution, has been moved into the standard library. The predicate error/1 now throws an exception rather than just terminating execution. However, many of the operations in the standard library still handle errors by aborting execution rather than by throwing exceptions. 16 Sep 1999
- New papers- Two new papers on Mercury are now available from our papers page. One describes how Mercury handles run time type information, while the other describes the optimizations we use to make Mercury programs tail recursive. 13 Aug 1999
- Operators- We now support a simple form of user-defined infix operators. Terms in the form of x `fun` y are transformed into fun(x, y). The transformation is available in our latest release of the day. 13 Jul 1999
- Automatic accumulator introduction- A new optimization has been added to the Mercury compiler. The optimization attempts to make procedures tail recursive by the introduction of accumulator variables. The optimization is available in our latest release of the day. 17 Jun 1999
- Linux RPM format binary distribution- We have provided a new binary distribution of Mercury 0.8.1 for Linux in RPM (RedHat Package Manager) format. Note that the binary distributions that we provide for Linux work with libc 6.0 only. Unfortunately they do NOT work with libc 6.1. This is due to incompatibilities between libc versions 6.0 and 6.1 (i.e. glibc 2.0 and 2.1). 18 Mar 1999
- Lazy evaluation- The latest development version of the Mercury extras distribution now includes support for optional lazy evaluation. There is a new module `lazy', which provides a type `lazy(T)' for lazily-evaluated data structures, with `delay' and `force' operations. There is also a module `lazy_list', which defines a lazy list data type using the `lazy' module. See the files in extras/lazy_evaluation for details. This is now available for download. 15 Mar 1999
- Prolog debuggers no longer supported- We've removed the support for using a Prolog debugger on Mercury programs. Now that we have a working Mercury debugger, there's no longer any need to use a Prolog debugger for debugging Mercury code. 11 Mar 1999
- Interactive queries- The Mercury debugger now includes support for interactive queries. See the "Interactive query commands" subsection of the "Debugger commands" section of the "Debugging" chapter of the Mercury User's Guide. 08 Mar 1999
- Mercury Tutorial- Ralph Becket has kindly written a Mercury Tutorial. This is still under development. Feedback would be appreciated. 05 Mar 1999
- Coding Challenge - Battleships- Download the spec for battleships and maybe have your solution added to the samples directory. 18 Jan 1999
- MCORBA 0.2 released- The second release of MCORBA is finally available. We have fixed the generation of the C++ code so that the samples now build and work correctly. See the MCORBA web page for more details on MCORBA. 21 Dec 1998
- Mercury 0.8.1 released- This release just fixes some problems with the binary distributions for 0.8. Release information can be found here. 13 Dec 1998
- Dynamic linking support- The latest development version of the extras distribution now includes support for dynamic linking. This is now available for download. The interface is based on the C functions dlopen(), dlsym(), and co., which are supported by most modern Unix systems. See the files in extras/dynamic_linking for details. 06 Dec 1998
- New paper: Optimization of Mercury programs.- A paper describing the high-level optimization passes of the Mercury compiler is now available from the Mercury papers page. 25 Nov 1998
- Mercury 0.8 released- We've just released the long-awaited version 0.8. Release information can be found here. 18 Nov 1998
- New MCORBA paper available- We have made a paper describing the Mercury CORBA interface available from the Mercury papers page. 17 Nov 1998
- Web site now searchable- You can now search either the mailing lists or the rest of the web site. 16 Nov 1998
- New paper: Type classes in Mercury.- A new paper, describing our implementation of type classes in Mercury, has been made available from the Mercury papers page. 30 Sep 1998
- MCORBA: CORBA for Mercury.- We've done some work on MCORBA, which is a binding to CORBA for Mercury. CORBA is a distributed object framework, that allows local and remote objects to communicate. MCORBA allows you to use Mercury to talk to other CORBA objects, and to implement CORBA objects. It's still preliminary, if you are interested see the MCORBA page for more information. 21 Sep 1998
- New unstable daily releases.- The Mercury daily snapshot, called the release-of-the-day (ROTD) scheme has been modified to add unstable releases, which have not passed the all the tests, but may still be useful for developers who need the very latest version. Daily releases are available for download. 18 Sep 1998
- The Mercury Web Site overhauled.- The new layout is easier for us to update with news (like this), and has full hypermail archives of the mercury-developers and mercury-users mailing lists. Thanks to Peter Ross for all his work on it. 07 Sep 1998
- Mmake extensions.- Mmake has been extended to support setting flags on a per-file basis, and will now warn about variables which are defined but not used. 04 Aug 1998
- Enhancements to mtags.- Mtags is now able to produce tags for typeclass declarations. It is also able to produce tags files in the extended format supported by recent versions of Vim and Elvis. 13 Jul 1998
- Existential types.- Preliminary support for existential types has been added to Mercury. For those of you that aren't theorists, this means you can declare polymorphic arguments that are outputs, and their type is also an output. 09 Jul 1998
- Tabling.- Predicates can now be tabled. Predicates to be tabled are requested by the use of a pragma. 15 May 1998
- Native Debugger.- An alpha version of a native trace-based debugger has been implemented. The main features missing are a term browser and the ability to redo goals. 08 Apr 1998
- Sub-modules.- The module system now includes support for sub-modules. 04 Mar 1998
- Ported to glibc.- Mercury 0.7.3 has been ported to glibc for Debian GNU/Linux. 01 Feb 1998
- Type classes.- Type classes support added. Type classes let you specify an interface and then provide multiple different implementations of that interface. They're similar to abstract base classes in C++ or "interfaces" in Java. 19 Dec 1997
- Mercury 0.7.3 released.- Release information can be found here. 01 Nov 1997
- Mercury 0.7.2 released.- Release information can be found here. 13 Oct 1997
- Mercury 0.7 released.- Release information can be found here. 15 Aug 1997
- Mercury 0.6.2 released.- Release information can be found here. 14 Jan 1997
- Mercury 0.6.1 released.- Release information can be found here. 26 Aug 1996
- Mercury 0.6 released.- Release information can be found here. 02 Aug 1996
- Mercury 0.5 released.- Release information can be found here. 15 Feb 1996
- Mercury 0.4 released.- Release information can be found here. 15 Sep 1995
- Mercury 0.3 released.- Release information can be found here. 18 Jul 1995
