krfkeith / slate-language

Automatically exported from code.google.com/p/slate-language
MIT License
1 stars 0 forks source link

Investigate/implement Xtreams implementation of streams which does not rely on isAtEnd-checking loops but instead uses interesting Exceptions #20

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Xtreams is described at
http://www.cincomsmalltalk.com/publicRepository/XtreamsDevelopment(Bundle).html

Instead of using [stream isAtEnd] whileTrue: [stream next. ... ], Xtreams
are implemented without a notion of "end" and instead throw an exception
when an incomplete read or write is performed, which notes a sequence it
wrote to, its current cursor position within that, and the number of
elements (to be clarified by source examination).

The intent is that orienting the stream code according to this will allow
bulk-I/O methods to be performed by default, thus avoiding end-checks and
loop overhead, and making better use of VM and other primitives.

Benchmarks will be performed to verify the claims as coded. Of course there
will be a bootstrapping phase to transition to the new style, with an
intermediate mode of operation mixing the two modes.

Original issue reported on code.google.com by BrianTRice on 25 Nov 2009 at 7:07

GoogleCodeExporter commented 9 years ago

Original comment by BrianTRice on 25 Dec 2009 at 12:22