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


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to