Files
mercury/WORK_IN_PROGRESS
Fergus Henderson 1b4e19ba1f - Mention that the distribution is now split into core + extras.
Estimated hours taken: 1

NEWS:
	- Mention that the distribution is now split into core + extras.
	- Mention improved handling of grades.
	- Move the mention of DLL support to the WORK_IN_PROGRESS file.
	- Mention better constant-propagation optimization.
	- Fix an XXX: specify the location of lp_solve.
	- Change the description of the change to io__call_system
	  to say that it was a bug fix, not an interface change.
	- For a few items, add pointers to their documentation.
	- Reorganize everything -- split it into four major sections:
	  changes to the language, standard library, extra libraries,
	  and the compiler.

WORK_IN_PROGRESS:
	- Delete the mention of termination analysis, since this
	  is now in the NEWS file.
	- Mention DLL support.
1997-10-11 15:31:08 +00:00

45 lines
1.8 KiB
Plaintext

Work in progress
----------------
The compiler contains some code for the following features,
which are not yet completed:
* 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 `--generate-bytecode' option --
but the bytecode interpreter isn't working yet.
* There is a new `--generate-prolog' option
which does not work yet.
* There is a new `--optimize-constructor-last-call' option
which identifies opportunities for LCO where a call
is followed only by some constructor invocations.
However, these opportunities are not exploited yet.
* We now allow programmers to give names to the arguments of constructor
function symbols. (Disabled, due to lack of a suitable operator.)
* There are new options, `--make-transitive-optimization-interface' and
`--transitive-intermodule-optimization' which allow the compiler to
create `<module>.trans_opt' files. These files are similar to the
`<module>.opt' files, except `<module>.trans_opt' files may depend on
the information in other `<module>.trans_opt' files. Currently the
files are correctly created and read in, but the dependencies are not
correctly maintained, so the information in the `<module>.trans_opt'
files may be incorrect. For further details of what needs to be done,
see the beginning of the `trans_opt.m' file in the compiler directory.
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.
* Tabling/memoing of det and semidet predicates.
* Support for Haskell-style type classes.
* Support for heap profiling.