
Packages monad-parallel [1], monad-coroutine [2] and SCC [3] have been upgraded on Hackage to version 0.7. The monad-parallel library defines two Monad subclasses, MonadParallel and MonadFork, that enable some monadic computations to be executed in parallel and their results combined. The library also exports a subset of the Control.Monad interface (ap, sequence, and related functions), adjusted to exploit the parallelism. The new version of the library adds several more instances of these classes. The monad-coroutine library exports a generic monad transformer Coroutine: Functor s => MonadTrans (Coroutine s). A Coroutine-transformed monad can suspend at any point, returning its resumption wrapped in the functor s. The new release of monad-coroutine makes Coroutine an instance of Functor and Applicative classes. It also adds support for inter-coroutine communication through chunks parsed by the incremental-parser library [4]. The new version of Streaming Component Combinators (a.k.a. SCC) relies the aforementioned incremental-parser support to some good effect. Many coroutine components have been simplified and sped up by ~30% on average. [1] http://hackage.haskell.org/package/monad-parallel-0.7 [2] http://hackage.haskell.org/package/monad-coroutine-0.7 [3] http://hackage.haskell.org/package/scc-0.7 [4] http://hackage.haskell.org/package/incremental-parser-0.1