ANN: pipes-zlib 0.2.0.0

`pipes-zlib` [0] is a small library that allows compressing and
decompressing strict `ByteString` streams using the zlib compression
codec.

This new version is updated to work with `pipes` 3.3 and builds on top
of the `zlib-bindings` [1] library by Michael Snoyman, which doesn't
rely on Lazy IO, as opposed to the `zlib` [2] library. Still, most of
types used are those exposed by the `zlib` library, since that's also
the approach taken by the `zlib-bindings` library.

I thank Paolo Capriotti, the original author of `pipes-zlib`, for
allowing me to reuse the `pipes-zlib` name for this new and backwards
incompatible version of the library.

I haven't tested this library much, please don't hesitate to report any errors.

In the future it would be nice to modify the API so that the
`CompressParams` [3] and `DecompressParams` [4] types from the `zlib`
library can be reused. That would probably involve modifying the
`zlib-bindings` library, though.

On Tue, May 7, 2013 at 9:37 PM, Renzo Carbonara <gnuk...@gmail.com> wrote:
> In the future it would be nice to modify the API so that the
> `CompressParams` [3] and `DecompressParams` [4] types from the `zlib`
> library can be reused. That would probably involve modifying the
> `zlib-bindings` library, though.

Oh, and the `IO` base monad shouldn't be there, compression and
decompression ought to be pure. `IO` is there due to a limitation
imposed by the current implementation of `zlib-bindings`. I look
forward to changing that in the future :)

Don't worry. There is no hurry. Also, I actually thought it would require `IO`!

However, the pure version will still be nice, especially for doing pure testing.

Also, I like the clean API. Very simple and easy to use.

Regards,

Renzo Carbonara.
--
You received this message because you are subscribed to the Google Groups "Haskell Pipes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to haskell-pipe...@googlegroups.com.
To post to this group, send email to haskel...@googlegroups.com.

Hey, just wanted to express my thanks for this too. I'm working on streaming the contents of .tar.gz files, and once I wrote my .tar parser - I just had to slot decompressD into the proxy composition and bam - I can read .tar.gz too!

On Sun, May 19, 2013 at 5:19 PM, Oliver Charles <ol...@ocharles.org.uk> wrote:
> Hey, just wanted to express my thanks for this too. I'm working on streaming
> the contents of .tar.gz files, and once I wrote my .tar parser - I just had
> to slot decompressD into the proxy composition and bam - I can read .tar.gz
> too!

Fascinating! Thanks for letting us know! Welcome to the pipes!

I guess you are officially the first `pipes-zlib` user :) Please tell
us if you find any issues.

¿How did you go about parsing the TAR files with the current tools?
I'm not experienced in that format. ¿Would you care to share some
code?

On Sun, May 19, 2013 at 5:19 PM, Oliver Charles <ol...@ocharles.org.uk> wrote:
> Hey, just wanted to express my thanks for this too. I'm working on streaming
> the contents of .tar.gz files, and once I wrote my .tar parser - I just had
> to slot decompressD into the proxy composition and bam - I can read .tar.gz
> too!

Fascinating! Thanks for letting us know! Welcome to the pipes!

I guess you are officially the first `pipes-zlib` user :) Please tell
us if you find any issues.

¿How did you go about parsing the TAR files with the current tools?

I'm using pipes-bytestring to stream a ByteString out from a Handle, along with pipes-parse for push back support and the ability to request x bytes at a time. I use Cereal for my parsing. The tar format is really easy, and I'm actually thinking of doing a live-coding type screencast of the whole thing.

I'm not experienced in that format. ¿Would you care to share some
code?