| Copyright | (c) 2016 Conal Elliott | 
|---|---|
| Maintainer | conal@tabula.com | 
| Stability | experimental | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
ConCat.Scan
Description
Parallel scan
Synopsis
- class Functor f => LScan f where- lscan :: forall a. Monoid a => f a -> f a :* a
- lscanDummy :: f a
 
- lscanT :: Traversable t => (b -> a -> b) -> b -> t a -> (t b, b)
- lscanTraversable :: Traversable f => forall a. Monoid a => f a -> f a :* a
- lsums :: forall f a. (LScan f, Num a) => f a -> (f a, a)
- lproducts :: forall f a. (LScan f, Num a) => f a -> f a :* a
- lAlls :: LScan f => f Bool -> (f Bool, Bool)
- lAnys :: LScan f => f Bool -> (f Bool, Bool)
- lParities :: LScan f => f Bool -> (f Bool, Bool)
- multiples :: (LScan f, Pointed f, Num a) => a -> f a :* a
- powers :: (LScan f, Pointed f, Num a) => a -> f a :* a
- iota :: (LScan f, Pointed f, Num a) => f a :* a
Documentation
class Functor f => LScan f where Source #
Minimal complete definition
Nothing
Instances
| LScan Par1 Source # | |
| LScan Pair Source # | |
| LScan (U1 :: Type -> Type) Source # | |
| LScan (V1 :: Type -> Type) Source # | |
| (LScan f, LScan g) => LScan (f :*: g) Source # | |
| (LScan f, LScan g) => LScan (f :+: g) Source # | |
| LScan (K1 i c :: Type -> Type) Source # | |
| (LScan g, LScan f, Zip g) => LScan (g :.: f) Source # | |
| LScan f => LScan (M1 i c f) Source # | |
lscanT :: Traversable t => (b -> a -> b) -> b -> t a -> (t b, b) Source #
Traversable version (sequential)
lscanTraversable :: Traversable f => forall a. Monoid a => f a -> f a :* a Source #