| License | MIT |
|---|---|
| Maintainer | Paweł Nowak <pawel834@gmail.com> |
| Portability | GHC only |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.Total.Internal.SparseFold
Description
- mpower :: Monoid m => m -> Integer -> m
- data SparseFold s m = SparseFold (Min Integer) m (Max Integer)
- foldPoint :: Integer -> a -> Option (SparseFold s a)
- runSparseFold :: Monoid m => m -> (forall s. Reifies s m => Proxy s -> Option (SparseFold s m)) -> m
Documentation
mpower :: Monoid m => m -> Integer -> m Source
`mpower x n` raises x to the power n taking advantage of associativity.
data SparseFold s m Source
A semigroup used to quickly fold a sparse finite domain.
Constructors
| SparseFold (Min Integer) m (Max Integer) |
Instances
| (Reifies * s m, Monoid m) => Semigroup (SparseFold s m) | |
| Typeable (* -> * -> *) SparseFold |
foldPoint :: Integer -> a -> Option (SparseFold s a) Source
runSparseFold :: Monoid m => m -> (forall s. Reifies s m => Proxy s -> Option (SparseFold s m)) -> m Source