transient-0.4.2: Making composable programs with multithreading, events and distributed computing

Safe HaskellNone
LanguageHaskell2010

Transient.Indeterminism

Description

Synopsis

Documentation

choose :: Show a => [a] -> TransIO a Source #

slurp a list of values and process them in parallel . To limit the number of processing threads, use threads

choose' :: [a] -> TransIO a Source #

alternative definition with more parallelism, as the composition of n async sentences

collect :: Int -> TransIO a -> TransIO [a] Source #

execute a process and get at least the first n solutions (they could be more). if the process end without finding the number of solutions requested, it return the found ones if he find the number of solutions requested, it kill the non-free threads of the process and return It works monitoring the solutions found and the number of active threads. If the first parameter is 0, collect will return all the results

collect' :: Int -> NominalDiffTime -> NominalDiffTime -> TransIO a -> TransIO [a] Source #

search also between two time intervals. If the first interval has passed and there is no result, it stops. After the second interval, it stop unconditionally and return the current results. It also stops as soon as there are enough results specified in the first parameter.

group :: Int -> TransIO a -> TransIO [a] Source #

group the output of a possible multithreaded process in groups of n elements.

groupByTime :: Integer -> TransIO a -> TransIO [a] Source #

group result for a time interval, measured with diffUTCTime