functor-combo-0.3.1: Functor combinators with tries & zippers

Stabilityexperimental
Maintainerconal@tabula.com
Safe HaskellNone

FunctorCombo.ParScan

Description

Synopsis

Documentation

class Scan f whereSource

Parallel scans. prefixScan accumulates moving left-to-right, while suffixScan accumulates moving right-to-left.

Methods

prefixScan :: Monoid m => f m -> PreScanO f mSource

suffixScan :: Monoid m => f m -> SufScanO f mSource

Instances

Scan Id 
Scan Pair 
Scan (Const x) 
(Scan g, Scan f, Functor f, Applicative g) => Scan (:. g f) 
(Scan f, Scan g) => Scan (:+: f g) 
(Scan f, Scan g, Functor f, Functor g) => Scan (:*: f g) 

type PreScanO f a = (f a, a)Source

type SufScanO f a = (a, f a)Source

prefixScanEnc :: (EncodeF f, Scan (Enc f), Monoid m) => f m -> PreScanO f mSource

suffixScanEnc :: (EncodeF f, Scan (Enc f), Monoid m) => f m -> SufScanO f mSource

preScanTweak :: Functor f => (a -> b) -> PreScanO f a -> PreScanO f bSource

sufScanTweak :: Functor f => (a -> b) -> SufScanO f a -> SufScanO f bSource

prefixSums :: (Functor f, Scan f, Num a) => f a -> PreScanO f aSource

suffixSums :: (Functor f, Scan f, Num a) => f a -> SufScanO f aSource