The Mercury Project
Release 0.4 Notes

[Mercury Logo]
Home

News

Information

Documentation

Mailing Lists

Back-ends

Download
  Current Release
  Snapshot
  Old Releases

Related

Contact

Search

Bug Database

New in release 0.4 of the Mercury distribution

  • Higher-order predicates and lambda expressions are now implemented. (This means that `call/{1,2,3,4}' and `solutions/2' are now usable; unfortunately call/{5,6,...} are still not yet implemented.)
  • Unique modes are now partially implemented (but don't use them for anything except I/O, as the implementation is not yet complete).
  • Partially instantiated modes are now closer to being fully implemented.
  • The installation process is more standard (basically just `configure; make; make install').
  • Autoconfiguration is a bit more robust.
  • `msc' and `mnc' now produce somewhat smaller object files.
  • Error and warning messages are a little better in some cases.
  • Fixed a few code generation bugs.
  • Ported to DEC Alpha/OSF and BSDI BSD/386.
  • We've improved the efficiency of the 386 port by about 70%. (50% because asm_fast.gc mode now works on the 386, the rest due to better optimization).
  • We generate better code for calls to `\='.
  • We generate better code for `compare/3'.
  • A few other new optimizations.
  • The profiler now works (see the documentation in the Mercury User's Guide).
  • Some new library predicates, including `string__format' (like C's sprintf).
  • `set__join/2' has been renamed as `set__power_union/2'.
  • `list__sort/2' has been renamed as `list__sort_and_remove_dups/2'.
  • There is a new `list__sort/2' which does not remove duplicates.