On Fri, Jul 28, 2017 at 12:30:15PM -0400, Ben Gamari wrote:
> Tom Ellis <[hidden email]> writes:
> > Inspired by this discussion
> > https://www.reddit.com/r/haskell/comments/6pzwnb/streaming_programs_without_laziness_a_short_primer/ > >
> > I began to wonder: what are the `Proxy`s that occur in the wild that are not
> > `Pipe`s? That is, when in practice do we actually need to send data back
> > upstream?
> I use Proxy's bidirectionality in my b-tree library : Blocks to be
> written to disk are passed downstream, while the disk offset at which
> the data was written is passed back upstream. This makes for a very
> clean separation between the disk backend and the book-keeping involved
> in building the data structure.
Does upstream need the offset in order to send the next block downstream?
IF not couldn't it be a unidirectional pipe?