Copyright | (c) Edward Kmett 2009-2012 |
---|---|
License | BSD-style |
Maintainer | ekmett@gmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Trustworthy |
Language | Haskell98 |
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
RLE | |
|
Monad RLE Source # | |
Functor RLE Source # | |
Applicative RLE Source # | |
Foldable RLE Source # | |
MonadZip RLE Source # | |
Zip RLE Source # | |
Lookup RLE Source # | |
Adjustable RLE Source # | |
Pointed RLE Source # | |
Apply RLE Source # | |
Bind RLE Source # | |
Eq a => Reducer a (RLE a) Source # | |
Eq a => Eq (RLE a) Source # | |
Eq a => Semigroup (RLE a) Source # | |
Eq a => Monoid (RLE a) Source # | |
Hashable a => Hashable (RLE a) Source # | |
Generator (RLE a) Source # | |
type Key RLE Source # | |
type Elem (RLE a) Source # | |
A single run with a strict length
Monad Run Source # | |
Functor Run Source # | |
Applicative Run Source # | |
Foldable Run Source # | |
Comonad Run Source # | |
ComonadApply Run Source # | |
Pointed Run Source # | |
Apply Run Source # | |
Foldable1 Run Source # | |
Bind Run Source # | |
Extend Run Source # | |
Measured Count (Run a) Source # | |
Eq a => Eq (Run a) Source # | |
Ord a => Ord (Run a) Source # | |
Show a => Show (Run a) Source # | |
encodeList :: Eq a => [a] -> RLE a Source #