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

Copyright(c) 2012 Tabula, Inc.
Maintainerconal@tabula.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

FunctorCombo.ParScan

Description

Synopsis

Documentation

class Scan f where Source

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

Methods

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

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

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 m Source

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

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

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

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

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