|
Data.Monoid.Generator.LZ78 | Portability | portable | Stability | experimental | Maintainer | ekmett@gmail.com |
|
|
|
|
|
Description |
Compression algorithms are all about exploiting redundancy. When applying
an expensive Reducer to a redundant source, it may be better to
extract the structural redundancy that is present. LZ78 is a compression
algorithm that does so, without requiring the dictionary to be populated
with all of the possible values of a data type unlike its later
refinement LZW, and which has fewer comparison reqirements during encoding
than its earlier counterpart LZ77. Since we aren't storing these as a
bitstream the LZSS refinement of only encoding pointers once you cross
the break-even point is a net loss.
|
|
Synopsis |
|
|
|
Documentation |
|
module Data.Monoid.Generator |
|
Lempel-Ziv 78
|
|
|
Instances | |
|
|
Decoding
|
|
|
a type-constrained reduce operation
|
|
Encoding
|
|
|
contruct an LZ78-compressed Generator using a Map internally, requires an instance of Ord.
|
|
|
contruct an LZ78-compressed Generator using a list internally, requires an instance of Eq.
|
|
QuickCheck Properties
|
|
|
QuickCheck property: decode . encode = id
|
|
|
QuickCheck property: decode . encodeEq = id
|
|
Produced by Haddock version 2.4.2 |