mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 17:33:38 +00:00
compiler/notes/work_in_progress.html:
Delete the entry about the bytecode backend, since that
backend was deleted in commit 039d6eaef.
56 lines
1.5 KiB
HTML
56 lines
1.5 KiB
HTML
<!--
|
|
vim: ts=4 sw=4 expandtab ft=html
|
|
-->
|
|
|
|
<html>
|
|
<head>
|
|
<title>Partially implemented features</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1>Partially implemented features</h1>
|
|
|
|
The compiler contains some code for the following features,
|
|
which are not yet completed but work on which has stopped
|
|
(often when the person doing that work has graduated)
|
|
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.
|
|
<p>
|
|
|
|
<ul>
|
|
<li>
|
|
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.
|
|
<li>
|
|
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.
|
|
<li>
|
|
There is an accurate garbage collector (the hlc.agc grade).
|
|
See the comments in compiler/ml_elim_nested.m
|
|
and the paper on our web page for more details.
|
|
<li>
|
|
A new implementation of the mode system using constraints.
|
|
<li>
|
|
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.
|
|
<li>
|
|
A SOAP interface.
|
|
<!--
|
|
<li>
|
|
Better support for inter-module analysis and optimization.
|
|
-->
|
|
</ul>
|
|
|
|
</body>
|
|
</html>
|