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 #