« Return to Thread: Abstraction leak

Re: Abstraction leak

by Miles Sabin :: Rate this Message:

Reply to Author | View in Thread

Andrew Coppin wrote,
> If this was Java, you would write all these compression and
> decompression stages as stream wrappers. So you wrap the raw input
> stream with an RLE decoder, have the function read the Huffman table,
> and then take off the RLE decoder and process the rest of the stream.

Except that if the RLE decoding stream wrapper contains any internal
buffering, then stripping it off would very likely result in data loss.
What you actually have to do is have the RLE decoding stream wrapper
build and return you a stream wrapper which delivers the remainder of
the stream.

Which I think shows that the abstraction isn't leaky ... where "the
remainder" starts is very much dependent on the precise encoding of the
prefix of the stream.

Cheers,


Miles
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@...
http://www.haskell.org/mailman/listinfo/haskell-cafe

 « Return to Thread: Abstraction leak