[Haskell-cafe] Stream fusion and span/break/group/init/tails

Ben Lippmeier benl at ouroborus.net
Tue Apr 23 04:39:56 CEST 2013

On 22/04/2013, at 5:27 PM, Edward Z. Yang wrote:

> So, if I understand correctly, you're using the "online/offline"
> criterion to resolve non-directed cycles in pipelines?  (I couldn't
> tell how the Shivers paper was related.)

The "online" criteria guarantees that the stream operator does not need to buffer an unbounded amount of data (I think). 

I'm not sure what you mean by "resolve non-directed cycles".

The Shivers paper describes the same basic approach of splitting the code for a stream operator in to parts that run before the loop/for each element of a loop/after the loop etc. Splitting multiple operators this way and then merging the parts into a single loop provides the "concurrency" required by the description in John Hughes's thesis.

More information about the Haskell-Cafe mailing list