| 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
A single run with a strict length
Instances
| Monad Run # | |
| Functor Run # | |
| Applicative Run # | |
| Foldable Run # | |
Defined in Data.Compressed.RunLengthEncoding Methods fold :: Monoid m => Run m -> m # foldMap :: Monoid m => (a -> m) -> Run a -> m # foldr :: (a -> b -> b) -> b -> Run a -> b # foldr' :: (a -> b -> b) -> b -> Run a -> b # foldl :: (b -> a -> b) -> b -> Run a -> b # foldl' :: (b -> a -> b) -> b -> Run a -> b # foldr1 :: (a -> a -> a) -> Run a -> a # foldl1 :: (a -> a -> a) -> Run a -> a # elem :: Eq a => a -> Run a -> Bool # maximum :: Ord a => Run a -> a # | |
| Comonad Run # | |
| ComonadApply Run # | |
| Pointed Run # | |
Defined in Data.Compressed.RunLengthEncoding | |
| Apply Run # | |
| Foldable1 Run # | |
| Bind Run # | |
| Extend Run # | |
| Measured Count (Run a) # | |
Defined in Data.Compressed.RunLengthEncoding | |
| Eq a => Eq (Run a) # | |
| Ord a => Ord (Run a) # | |
| Show a => Show (Run a) # | |
encodeList :: Eq a => [a] -> RLE a #