mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-23 13:23:47 +00:00
Estimated hours taken: 0.5 LIMITATIONS: Remove the mention of limitations on call/N, since those limitations are now fixed. NEWS: Explain functional syntax a bit more. Add note mentioning that the limitations on call/N have been fixed.
32 lines
1.1 KiB
Plaintext
32 lines
1.1 KiB
Plaintext
|
|
The current implementation does not yet completely implement the
|
|
Mercury language. The main limitations of the current implementation
|
|
are the following:
|
|
|
|
* We do not allow definite aliasing in the mode system.
|
|
Without this, partially instantiated modes are unusable,
|
|
and so are nested unique modes :-(
|
|
|
|
* The compiler does not yet use structure reuse or compile-time
|
|
garbage collection to exploit unique modes :-(
|
|
|
|
* Module qualifiers are not yet fully implemented (they are
|
|
also not yet documented).
|
|
|
|
* It is not possible to give both `cc_multi' and `multi' (or `cc_nondet'
|
|
and `nondet') determinisms for the same mode of a predicate.
|
|
|
|
* The order of mode declarations is significant:
|
|
unique mode declarations must precede non-unique mode declarations.
|
|
|
|
* Predicates can have at most about 1000 arguments.
|
|
|
|
We are working on eliminating all of these problems.
|
|
|
|
Of course, those are not the only things we're working on. Among other
|
|
things, we'd like to provide better support for debugging, a better C
|
|
interface and a better garbage collector. We're also working on a
|
|
parallel/multithreaded version of Mercury, and on adding support for
|
|
constraint solving.
|
|
|