parallel
parallel copied to clipboard
a library for parallel programming
`parListChunk` previously split a list up into chunks, applied the given strategy to each chunk, and then put them all together again. This led to two extra copies of the...
* Add `buffering` to buffer compositionally. * Manually deforest `evalBuffer` and `parBuffer`. * Add more rules for `evalBuffer` and `parBuffer`. This PR is layered on another; I could disentangle them...
I'm not sure just how useful this is, but it seems like it should exist.
We can hypothetically write ```haskell evalToSTM :: Eval a -> STM a evalToSTM (Eval (IO m)) = STM m ``` Would that be a sensible operation? My intuition says yes,...
We really should have a Cabal-integrated test suite here, and make Travis run it.
We need to be sure not to regress #17.
Currently it’s not clear from the documentation what `par undefined x` does. For example: does it throw an async exception? Does it memoize the exception? Can I rely on `Control.Exception.evaluate`...
Lots of functions that deal in `Strategy` would be more naturally written for ``` type Strategy' a b = a -> Eval b ``` This tiny generalization bypasses `map`.
`seqMap` appears to be the only reason `parallel` depends on `containers`. It would be nice to be rid of it. The obvious replacement would be `seqBifoldable`. I'll have to add...