Skip to content

Haskell Conduit implementing the official LZ4 frame streaming format

License

Notifications You must be signed in to change notification settings

channable/lz4-frame-conduit

 
 

Repository files navigation

lz4-frame-conduit

Haskell Conduit implementing the official LZ4 frame streaming format.

Building

Use git clone --recursive, because lz4/ is a git submodule.

Rationale and comparison to non-lz4-compatible libraries

There exist two lz4 formats:

  1. the block format, limited to compressing data < 2 GB
  2. the frame format, suitable for streaming arbitrarily sized data ** This is what the lz4 command line utility uses

This library implements the frame format.

Some existing Haskell libraries implement only the block format, and are thus not suitable to compress data > 2 GB in a way. (Of course they could chunk the output in some arbitrary way, but that wouldn't be compatible with the lz4 command line utility.) The libraries that belong to this category at time of writing are:

About

Haskell Conduit implementing the official LZ4 frame streaming format

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haskell 99.1%
  • Nix 0.9%