mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-13 04:44:39 +00:00
Update the TODO and WORK_IN_PROGRESS files.
Branches: main, 10.04 Update the TODO and WORK_IN_PROGRESS files. Don't give the impression that we might support user-defined operators at some point in the future; this is not likely to happen. compiler/notes/todo: Remove some things that have now been implemented from the todo list. Remove user-defined operators from the wishlist. compiler/notes/work_in_progress.html: Remove the Java backend and lco from the list of work-in-progress. doc/transition_guide.texi: Don't give the impression that Mercury might support user-defined operators.
This commit is contained in:
@@ -108,10 +108,6 @@ mercury@csse.unimelb.edu.au.
|
||||
<ul>
|
||||
<li> finish off support for accurate garbage collection;
|
||||
see the comments in compiler/ml_elim_nested.m
|
||||
<li> implement a better solution to the problem with abstract
|
||||
equivalence types defined as float (the current solution
|
||||
is to use --intermodule-optimization, but it would better
|
||||
to only do this for abstract equivalence types)
|
||||
<li> see also the comments in compiler/ml_code_gen.m
|
||||
</ul>
|
||||
|
||||
@@ -129,13 +125,6 @@ mercury@csse.unimelb.edu.au.
|
||||
<li> see also the TODO list in compiler/mlds_to_il.m
|
||||
</ul>
|
||||
|
||||
<h3> Java back-end </h3>
|
||||
<ul>
|
||||
<li> implement the foreign language interface
|
||||
<li> finish off standard library implementation
|
||||
<li> see also the TODO list in compiler/mlds_to_java.m
|
||||
</ul>
|
||||
|
||||
<h2> debugger </h2>
|
||||
|
||||
<ul>
|
||||
@@ -218,6 +207,9 @@ mercury@csse.unimelb.edu.au.
|
||||
arguments, and to have unique modes for curried arguments.
|
||||
|
||||
<li> allow taking the address of a predicate with multiple modes
|
||||
[we do allow this in case where the mode can be determined from
|
||||
the inst of the high-order arguments]
|
||||
|
||||
|
||||
<li> improve support for higher-order programming, eg. by providing
|
||||
operators in the standard library which do things like:
|
||||
@@ -310,9 +302,6 @@ mercury@csse.unimelb.edu.au.
|
||||
|
||||
<li> improve efficiency of the module import handling (currently O(N^2))
|
||||
|
||||
<li> improve the efficiency of mode checking very large facts
|
||||
(e.g. this is particularly bad when compiling eliza.m).
|
||||
|
||||
<li> use "store" rather than "map" for the major compiler data structures
|
||||
</ul>
|
||||
|
||||
@@ -346,11 +335,6 @@ mercury@csse.unimelb.edu.au.
|
||||
[not-so-fast bytecode compiler done, but bytecode interpreter
|
||||
not implemented]
|
||||
|
||||
<li> implement user-defined operators: <br>
|
||||
Add a new construct `:- op(Pred, Type, Op).' as in Prolog;
|
||||
change prog_io.m to parse this construct and call io__op
|
||||
accordingly. But how does this fit in with the module system?
|
||||
|
||||
<li> support for easier formal specification translation (eg a Z library,
|
||||
or Z to Mercury).
|
||||
|
||||
@@ -384,6 +368,6 @@ mercury@csse.unimelb.edu.au.
|
||||
<hr>
|
||||
<!--======================-->
|
||||
|
||||
Last update was $Date: 2006-09-15 09:11:22 $ by $Author: juliensf $@cs.mu.oz.au. <br>
|
||||
Last update was $Date: 2010-07-13 05:48:04 $ by $Author: juliensf $@cs.mu.oz.au. <br>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -22,10 +22,6 @@ at some time in the future:
|
||||
<a href="http://msdn.microsoft.com/net/">.NET Common Language Runtime</a>.
|
||||
We're still working on this.
|
||||
|
||||
<li> There is a `--target java' option, which generates Java.
|
||||
We still need to add support for Java foreign language interfacing,
|
||||
and implement the Mercury standard library for Java.
|
||||
|
||||
<li> Thread-safe engine (the `.par' grades).
|
||||
|
||||
<li> Independent AND-parallelism (the `&' parallel conjunction operator).
|
||||
@@ -42,11 +38,6 @@ and it would allow the debugger to print type_class_infos.
|
||||
This is not yet enabled by default because it has not yet been tested
|
||||
properly.
|
||||
|
||||
<li> 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.
|
||||
|
||||
<li> 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.
|
||||
@@ -109,6 +100,6 @@ if someone has the time for it.
|
||||
<hr>
|
||||
<!-------------------------->
|
||||
|
||||
Last update was $Date: 2006-02-23 09:37:20 $ by $Author: zs $@cs.mu.oz.au. <br>
|
||||
Last update was $Date: 2010-07-13 05:48:04 $ by $Author: juliensf $@cs.mu.oz.au. <br>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -130,7 +130,7 @@ than in ISO Prolog. ISO Prolog specifies that ``@{1, 2, 3@}'' is parsed as
|
||||
@code{'@{@}'(','(1, ','(2, 3)))}. In Mercury, it is parsed as
|
||||
@code{'@{@}'(1, 2, 3)}.
|
||||
|
||||
Mercury does not (yet) allow users to define their own operators.
|
||||
Mercury does not allow users to define their own operators.
|
||||
|
||||
@node IO
|
||||
@chapter Input and output
|
||||
|
||||
Reference in New Issue
Block a user