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.