mwotton/lz4hs — pull request #3 by thoughtpolice (2012-08-20 03:32:50+00:00)
Title: Basically rewrite everything. Many changes detailed.

I had my own copy of an LZ4 binding around that was all but finished
when I found this one. I would rather there be one great binding instead
of just duplicating the work and having two seperate ones. As a result,
I just imported all of my code and touched it up basically.

Big changes include:

* LZ4 is now included inline in the package. It's at revision r75.

* The interface is completely type safe and returns Maybe values in
case of failed compression.

* The whole API has a property: any empty input string for
compression OR decompression returns 'Just Data.ByteString.empty'
as a short cut.

* Top-level documentation of everything.

* Benchmarks comparing LZ4, QuickLZ, and snappy (need improvement)

* Rewrote hspec tests a bit

* Also offers a composition of (compress >>= compressHC) which gives
better compression ratios at the expense of more time, but not
nearly as much time as HC mode alone. This is due to repetition in
the output coding which can be compressed again. See
'compressPlusHC' documentation for more.

* Full new README, an AUTHORS file.

* Add travis-ci support

Overall though, it's everything you'd expect.

Signed-off-by: Austin Seipp