MyNixOS website logo
Description

Haskell bindings to the Zstandard compression algorithm.

A fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios.

Zstandard bindings for Haskell

Travis

This is a fork of the original Facebook project which is unmaintained and produces incorrectly compressed files. This repository fixes these. If the original maintainers want to take the project back, I am happy to delete this one.

This library provides Haskell bindings to the Zstandard compression library.

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. This can also be used as a building block for adapting to streaming libraries such as pipes and conduit. (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.

API documentation

The APIs should be easy to understand and work with, and you can find documentation on Hackage.

Metadata

Version

0.1.1.1

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows