alice
manual.


Alice Project

implementation
limitations


________ Overview ____________________________________________________

This page provides an overview of the limitations of the current version of the Alice system.


________ Language ____________________________________________________

Equality

The = operator is strict. Accordingly, in order to test two futures for equality, both have to be requested. The current implementation will not request futures if they are physically equal.

Equality types

The equality attribute of types is ignored. The = operator may be applied to values of any type. For functions and similar values it uses physical equality.

Datatype replication

Datatype replication in signatures (datatype t = datatype u) is not supported yet. Since datatypes are structural, the datatype specification can be copied as a work-around. Datatype replication in structures is supported.

Overloading

Overloading is not supported. Top-level arithmetic operators are only defined for type int.

Constructors

The operation of constructing a value with a generative constructor is strict in the constructor, in contrast to the language definition. Furthermore, if a (generative or non-generative) constructor has a syntactic arity not equal to 1, application of this constructor is strict in the argument (record).

Holes

Accessing a hole does not raise an exception as it should. Instead, it blocks until the hole is filled.

Signature inclusion

Signatures containing include specifications cannot be handled.

Polymorphic sealing

Dynamic sealing is not performed in cases where the signature is not statically known.


________ Compiler ____________________________________________________

Pattern exhaustiveness and redundancy

The compiler does not yet check whether patterns are exhaustive and non-redundant.

Undetermined record types

Use of a record pattern or selection function whose full type cannot be inferred from context is not flagged as an error. Instead, the undetermined part of the corresponding record type is simply assumed to be empty.


________ Library _____________________________________________________

Missing structures

Some of the mandatory structures of the Standard ML Basis Library are missing. These are:

Incomplete structures

Some of the implemented structures and functors from the Standard ML Basis Library lack parts of their functionality. These include:



last modified 2003/06/26 18:41