Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nh2/lz4-frame-conduit

Haskell Conduit implementing the official LZ4 frame streaming format
https://github.com/nh2/lz4-frame-conduit

haskell haskell-conduit lz4 lz4-frame

Last synced: about 1 month ago
JSON representation

Haskell Conduit implementing the official LZ4 frame streaming format

Awesome Lists containing this project

README

        

# 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:

* [`lz4`](https://hackage.haskell.org/package/lz4)
* [`lz4-conduit`](https://hackage.haskell.org/package/lz4-conduit)