License | MIT |
---|---|
Maintainer | Paweł Nowak <pawel834@gmail.com> |
Portability | GHC only |
Safe Haskell | Safe |
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) |
runSparseFold :: Monoid m => m -> (forall s. Reifies s m => Proxy s -> Option (SparseFold s m)) -> m Source #