PackageDescription: ComputingStreams


Computing Streams

Last published: March 18, 2007 by 'michael'

Defines 7 Classes
Extends 9 Classes


This is a package for read streams that wrap an underlying stream and compute values based on it. It provides the collecting:, selecting:, rejecting:, injecting:into: and transforming: methods on streams and streamable collections. So, for example,
#( 1 2 3 4 5) readStream collecting: [:each | each squared]
would return a read stream whose succession of values was 1, 4, 9, 16, and 25, taking the values from the underlying stream and applying the block to them. It is analogous to collect:, but the results are a lazily calculated stream rather than a collection.

The resulting streams are peekable, but not positionable, and not writeable.