mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-16 22:35:41 +00:00
We had been maintaining two copies of these notes, this change attempts to
merge them into one set. The cononical location for these notes is here in
compiler/notes/, they will be removed from the www repository.
I've also updated a number of URLs.
compiler/notes/allocation.html:
compiler/notes/bootstrapping.html:
compiler/notes/coding_standards.html:
compiler/notes/compiler_design.html:
compiler/notes/gc_and_c_code.html:
compiler/notes/glossary.html:
compiler/notes/release_checklist.html:
compiler/notes/reviews.html:
compiler/notes/todo.html:
compiler/notes/work_in_progress.html:
Merge in differences with the versions of these files in the www
repository. Most differences are trivial.
compiler/notes/bytecode.html:
compiler/notes/c_coding_standard.html:
compiler/notes/developer_intro.html:
Add files that were missing from the main repository but were on the
website.
101 lines
2.9 KiB
HTML
101 lines
2.9 KiB
HTML
<html>
|
|
<head>
|
|
<title>
|
|
Work In Progress
|
|
</title>
|
|
</head>
|
|
|
|
<body bgcolor="#ffffff" text="#000000">
|
|
|
|
<hr>
|
|
<!---------------------------------------------------------------------------->
|
|
|
|
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:
|
|
<p>
|
|
|
|
<ul>
|
|
<li> There is a
|
|
<a href="http://www.mercurylang.org/about/dotnet.html">`--target il'</a>
|
|
option, which generates MSIL code for Microsoft's
|
|
<a href="http://msdn.microsoft.com/net/">.NET Common Language Runtime</a>.
|
|
We're still working on this.
|
|
|
|
<li> Thread-safe engine (the `.par' grades).
|
|
|
|
<li> Independent AND-parallelism (the `&' parallel conjunction operator).
|
|
See Tom Conway's PhD thesis.
|
|
|
|
<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 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.
|
|
|
|
<li> 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.
|
|
</ul>
|
|
<p>
|
|
|
|
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.
|
|
|
|
<p>
|
|
|
|
<ul>
|
|
<li> A new implementation of the mode system using constraints.
|
|
This is on the "mode-constraints" branch of our CVS repository.
|
|
|
|
<li> Support for aliasing in the mode system.
|
|
This is on the "alias" branch of our CVS repository.
|
|
|
|
<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
|
|
This is on the "reuse" branch of our CVS repository.
|
|
|
|
<li> Better support for inter-module analysis and optimization.
|
|
|
|
</ul>
|
|
|
|
<hr>
|
|
<!-------------------------->
|
|
<h2>
|
|
Work Not In Progress
|
|
</h2>
|
|
|
|
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.
|
|
<p>
|
|
|
|
<ul>
|
|
<li> A SOAP interface.
|
|
|
|
<li> A bytecode interpreter, for use with the `--generate-bytecode' option.
|
|
|
|
<li> Sequence quantification
|
|
</ul>
|
|
</html>
|
|
|
|
<hr>
|
|
<!-------------------------->
|
|
|
|
</body>
|
|
</html>
|