     __________________________________________________________________

   The compiler contains some code for the following features, which are
   not yet completed, but which we hope to complete at some time in the
   future:

     * There is a [1]`--target il' option, which generates MSIL code for
       Microsoft's new [2].NET Common Language Runtime. We're still
       working on this.
     * Thread-safe engine (the `.par' grades).
     * Independent AND-parallelism (the `&' parallel conjunction
       operator). See Tom Conway's PhD thesis.
     * We have incomplete support for a new, more expressive design for
       representing information about type classes and type class
       instances at runtime. When complete, the new design would allow
       runtime tests of type class membership, it would allow the tabling
       of predicates with type class constraints, and it would allow the
       debugger to print type_class_infos.
     * We have added support for dynamic link libraries (DLLs) on Windows.
       This is not yet enabled by default because it has not yet been
       tested properly.
     * There is a new garbage collector that does accurate garbage
       collection (hlc.agc grade). See the comments in
       compiler/ml_elim_nested.m and the paper on our web page for more
       details.
     * There is a `--generate-bytecode' option, for a new back-end that
       generates bytecode. The bytecode generator is basically complete,
       but we don't have a bytecode interpreter.

   We also have some code that goes at least some part of the way towards
   implementing the features below. However, for these features, the code
   has not yet been committed and thus is not part of the standard
   distribution.

     * A new implementation of the mode system using constraints. This is
       on the "mode-constraints" branch of our CVS repository.
     * Support for aliasing in the mode system. This is on the "alias"
       branch of our CVS repository.
     * Support for automatic structure reuse (reusing old data structures
       that are no longer live, rather than allocating new memory on the
       heap) and compile time garbage collection This is on the "reuse"
       branch of our CVS repository.
     * Better support for inter-module analysis and optimization.
     __________________________________________________________________

Work Not In Progress

   The compiler also contains some code for the following features, but
   work on them has stopped, since finishing them off would be quite a bit
   more work, and our current priorities lie elsewhere. Still, these could
   make interesting and worthwhile projects if someone has the time for
   it.

     * A SOAP interface.
     * A bytecode interpreter, for use with the `--generate-bytecode'
       option.
     * Sequence quantification (see the [3]description from the meeting
       minutes).
     __________________________________________________________________

   Last update was $Date: 2010-07-13 05:48:04 $ by $Author: juliensf
   $@cs.mu.oz.au.

References

   1. http://www.cs.mu.oz.au/mercury/dotnet.html
   2. http://msdn.microsoft.com/net/
   3. http://www.cs.mu.oz.au/research/mercury/information/reports/minutes_15_12_00.html
