[ANN] Nile 0.9.5

Damien Cassou damien.cassou at gmail.com
Thu Nov 8 07:57:53 UTC 2007


Hi,

Nile is a complete reimplementation of the squeak stream hierarchy.
It's based on traits.

You can find it on Universe, SqueakMap, and SqueakSource
(http://www.squeaksource.com/Nile/)

A new class diagram is available at:
http://damien.cassou.free.fr/documents/internship_2007/nile/complete_hierarchy.pdf

Changes includes:
    * Only one class for collection-based streams (0 trait)
    * Only one class for file-based streams (0 trait)
    * Three new traits to put common behavior (6 traits in the core now)

We did these simplifications following Andreas Raab suggestions. It
proved to be a very good idea as a lot of entities (either class or
trait) has been removed. We are not ANSI compatible anymore but we
don't think it's a real problem in our case.

There is also a backward compatibility package (not loaded by default)
which contains  collection-based stream classes to mimic ANSI
behavior: NSReadableCollectionStream, NSWriteableCollectionStream and
NSReadWriteableCollectionStream. They are using the new core. Please
see package NileBackwardCompatibility on SqueakSource.

If you want to experiment ideas with Streams, you can do that on Nile
(for example, using a StreamAtEnd exception to avoid testing for
#atEnd).

Please comment on this.

-- 
Damien Cassou



More information about the Squeak-dev mailing list