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

Safe HaskellSafe
LanguageHaskell2010

Parrows.Util

Synopsis

Documentation

zipWithArr :: ArrowChoice arr => arr (a, b) c -> arr ([a], [b]) [c] Source #

evalN :: ArrowChoice arr => [arr a b] -> arr [a] [b] Source #

mapArr :: ArrowChoice arr => arr a b -> arr [a] [b] Source #

foldlArr :: ArrowChoice arr => arr (b, a) b -> arr (b, [a]) b Source #

rightRotate :: Arrow arr => arr [a] [a] Source #

assoc :: ((a, b), c) -> (a, (b, c)) Source #

unassoc :: (a, (b, c)) -> ((a, b), c) Source #

unshuffle :: Arrow arr => Int -> arr [a] [[a]] Source #

takeEach :: Int -> [a] -> [a] Source #

shuffle :: Arrow arr => arr [[a]] [a] Source #

Simple shuffling - inverse to round robin distribution

lazy :: Arrow arr => arr [a] [a] Source #

A lazy list is an infinite stream