There are three new packages on Hackage:
  - monad-parallel 0.5
    (http://hackage.haskell.org/package/monad-parallel)
  - monad-coroutine 0.5
    (http://hackage.haskell.org/package/monad-coroutine)
  - Streaming Component Combinators 0.5
    (http://hackage.haskell.org/package/scc)

   The first two packages are completely new. Their functionality has
been present in SCC 0.4, but I thought they might be useful on their
own. I'm keeping all the version numbers in sync for now, and the source
code for all three packages is in a single Darcs repository at
http://code.haskell.org/SCC/.

The monad-parallel library defines two Monad subclasses, MonadParallel and MonadFork, that enable 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 only currently defined MonadParallel instances are IO, Maybe, [], and Identity. More instances could be added, but I didn't want the package to depend on MTL or transformers. The library design was heavily influenced by the discussion in this Cafe thread:

http://www.mail-archive.com/haskell-cafe@haskell.org/msg68581.html

   The monad-coroutine package 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. There are also some functions for
manipulating and running coroutines, as well as a couple of useful
suspension functors such as Yield and Await.

   Finally, version 0.5 of Streaming Component Combinators (a.k.a. SCC)
comes with some significant code refactoring (as the two aforementioned
packages prove), simplifications, and performance enhancements. No new
features have been added since the 0.4 release.

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

Reply via email to