Franklyn Turbak. Synchronized Lazy Aggregates. Draft of a technical memo based on my January 1994 MIT doctoral dissertation. December 1, 1993.
We present a new solution to the problem of expressing single-pass, space-efficient list and tree computations in a modular fashion. synchronized lazy aggregates augment existing methods for expressing programs as networks of operators acting on aggregate data, but overcome many limitations. The technique is based on a dynamic model of lock step processing that enables the operators in a network to simulate the operational behavior of a monolithic loop or recursion. The key to the technique is the synchron, a new first-class object that allows concurrently executing operators to participate in a barrier synchronization. We describe the design of synchronized lazy aggregates and present examples of their implementation and use.
[PS] [PDF]