Zstandard bindings for Haskell
This library provides Haskell bindings to the Zstandard compression library.
Note that is now the official repositoryc for the zstd Haskell package. The original authors (Facebook) are no longer interested in maintaining it.
The library is structured to provide several layers of abstraction.
For the simplest use cases, the top-level
Zstdmodule is the best place to get started.
If you need to stream a large amount of data with a constant memory footprint, use the
Zstd.Streamingmodule. See also the
conduit-zstdpackage which provides a very thin wrapper to integrate with the
conduitlibrary. If you need to use lazy bytestrings instead, see the
Zstd.Lazymodule. This is built using the abstractions from the
When your usage is dominated by lots of small messages (presumably using pre-computed compression dictionaries), use the
Zstd.Efficientmodule to amortize the cost of allocating and initializing context and dictionary values.
If you’d like to help improve the code, please read the contribution guidelines. This discusses how to file bugs and submit changes to the code itself.
The APIs should be easy to understand and work with, and you can find documentation on Hackage.