License | MIT |
---|---|
Maintainer | Paweł Nowak <pawel834@gmail.com> |
Portability | GHC only |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
- 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.
SparseFold (Min Integer) m (Max Integer) |
(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