| Copyright | (c) Edward Kmett 2009-2012 |
|---|---|
| License | BSD-style |
| Maintainer | ekmett@gmail.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Trustworthy |
| Language | Haskell98 |
Data.Compressed.RunLengthEncoding
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. Run length encoding
can do so for long runs of identical inputs.
Documentation
Constructors
| RLE | |
Fields
| |
Instances
| Monad RLE # | |
| Functor RLE # | |
| Applicative RLE # | |
| Foldable RLE # | |
| MonadZip RLE # | |
| Zip RLE # | |
| Lookup RLE # | |
| Adjustable RLE # | |
| Pointed RLE # | |
| Apply RLE # | |
| Bind RLE # | |
| Eq a => Reducer a (RLE a) # | |
| Eq a => Eq (RLE a) # | |
| Eq a => Semigroup (RLE a) # | |
| Eq a => Monoid (RLE a) # | |
| Hashable a => Hashable (RLE a) # | |
| Generator (RLE a) # | |
| type Key RLE # | |
| type Elem (RLE a) # | |
A single run with a strict length
encodeList :: Eq a => [a] -> RLE a #