Parallel-Arrows-Definition-0.1.1.0: Multithreaded evaluation using Arrows.

Safe HaskellSafe
LanguageHaskell2010

Parrows.Skeletons.Topology

Documentation

(|>>>|) :: (ArrowLoop arr, ArrowChoice arr, ArrowLoopParallel arr (fut (([a], [b]), [c])) (fut (([a], [b]), [c])) (), Future fut (([a], [b]), [c]) ()) => arr a b -> arr b c -> arr a c Source #

pipe2 :: (ArrowLoop arr, ArrowChoice arr, ArrowLoopParallel arr (fut (([a], [b]), [c])) (fut (([a], [b]), [c])) conf, Future fut (([a], [b]), [c]) conf) => conf -> arr a b -> arr b c -> arr a c Source #

pipe :: (ArrowLoop arr, ArrowLoopParallel arr (fut a) (fut a) conf, Future fut a conf) => conf -> [arr a a] -> arr a a Source #

pipeSimple :: (ArrowLoop arr, ArrowLoopParallel arr a a conf) => conf -> [arr a a] -> arr a a Source #

ring :: (Future fut r conf, ArrowLoop arr, ArrowLoopParallel arr (i, fut r) (o, fut r) conf, ArrowLoopParallel arr o o conf) => conf -> arr (i, r) (o, r) -> arr [i] [o] Source #

torus :: (Future fut a conf, Future fut b conf, ArrowLoop arr, ArrowChoice arr, ArrowLoopParallel arr (c, fut a, fut b) (d, fut a, fut b) conf, ArrowLoopParallel arr [d] [d] conf) => conf -> arr (c, a, b) (d, a, b) -> arr [[c]] [[d]] Source #

uncurry3 :: (a -> b -> c -> d) -> (a, (b, c)) -> d Source #

lazyzip3 :: [a] -> [b] -> [c] -> [(a, b, c)] Source #

ptorus :: (Arrow arr, Future fut a conf, Future fut b conf) => conf -> arr (c, a, b) (d, a, b) -> arr (c, fut a, fut b) (d, fut a, fut b) Source #

threetotwo :: Arrow arr => arr (a, b, c) (a, (b, c)) Source #

twotothree :: Arrow arr => arr (a, (b, c)) (a, b, c) Source #