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
Zstd
module 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.Streaming
module. See also the
conduit-zstd package
which provides a very thin wrapper to integrate with the conduit library.
If you need to use lazy bytestrings instead, see the
Zstd.Lazy
module. This is built using the abstractions from the Zstd.Streaming
module.
When your usage is dominated by lots of small messages (presumably
using pre-computed compression dictionaries), use the
Zstd.Efficient
module to amortize the cost of allocating and initializing context
and dictionary values.
Join in
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.