Not yet implemented

Amber for Parrot is under active development, and many of its eventual features are not yet implemented. Here are summaries of a few of the major ones:

Quick links

Support for Microsoft Windows

Amber is currently (October 2005) being developed under Linux for the Parrot Virtual Machine, using SmartEiffel. Because both SmartEiffel and Parrot support multiple platforms including Microsoft Windows, it should not be hard to get Amber to run under Windows.

Deferred classes/features

Amber will support deferred classes and deferred features, similar to the facility available in Eiffel. I'm considering the possibility of integrating this with something like the Perl 6 "roles".

Short- and flat-form documentation tools

Users of Eiffel depend heavily on tools that show the "short-form" (interface of the current class) and "flat-form" (flattened interface of the current class and its ancestors). Similar tools are planned for Amber.

Integer and Character ranges

Amber is likely to support Integer and Character ranges, possibly in a way that is similar to ruby's » range expressions:

23..42, 'a'..'z'

Floating-point and "Bignum" numbers

Floating-point and a "Bignum" extended precision type are coming to Amber. Already, Parrot's own numeric classes can be used to some extent.

Array enhancements

Multidimensional arrays will be fully-supported. Some way will be provided to conveniently interface Amber's one-based arrays with languages that support only zero-based arrays.

Other Items

Creation routines will be revisited. It may be possible to integrate Amber's creation routines with standard Parrot initializers.

Call-chain handling needs to be cleaned up. At the moment, Amber can't always tell whether a routine is being called as a procedure or a function. If you call a routine in a way that it wasn't designed to be called, Amber doesn't always reject this. This can be addressed by improving Amber's handling of call-chains, and by inserting runtime tests for those cases that Amber can't catch at validity-checking-time (such as calls to non-Amber objects).

The current kernel is just a skeleton. Many of the classes are only stubs, with just enough features to test interaction with the Parrot runtime.

There are many more planned enhancements.

sh: /home/web/cgi/eiffelzone/comments.exe: No such file or directory