This module provides a bridge between the Control.Monad.Coroutine and the Data.Enumerator monad transformers.

- coroutineEnumerator :: (Monad m, Monoid s) => Coroutine (Yield [s]) m b -> Enumerator s m c
- enumeratorCoroutine :: Monad m => Enumerator s (Coroutine (Yield [s]) m) () -> Coroutine (Yield [s]) m ()
- coroutineIteratee :: (Monad m, Monoid s) => Coroutine (Await [s]) m (Either SomeException (b, [s])) -> Iteratee s m b
- iterateeCoroutine :: (Monad m, Monoid s) => Iteratee s m b -> Coroutine (Await [s]) m (Either SomeException (b, [s]))
- iterateeStreamCoroutine :: Monad m => Iteratee s m b -> Coroutine (Await (Stream s)) m (Either SomeException (b, Stream s))
- streamCoroutineIteratee :: Monad m => Coroutine (Await (Stream s)) m (Either SomeException (b, Stream s)) -> Iteratee s m b

# Documentation

coroutineEnumerator :: (Monad m, Monoid s) => Coroutine (Yield [s]) m b -> Enumerator s m cSource

Converts a `Coroutine`

parameterized with the `Yield`

functor into an `Enumerator`

.

enumeratorCoroutine :: Monad m => Enumerator s (Coroutine (Yield [s]) m) () -> Coroutine (Yield [s]) m ()Source

Converts an `Enumerator`

into a `Coroutine`

parameterized with the `Yield`

functor.

coroutineIteratee :: (Monad m, Monoid s) => Coroutine (Await [s]) m (Either SomeException (b, [s])) -> Iteratee s m bSource

iterateeCoroutine :: (Monad m, Monoid s) => Iteratee s m b -> Coroutine (Await [s]) m (Either SomeException (b, [s]))Source

iterateeStreamCoroutine :: Monad m => Iteratee s m b -> Coroutine (Await (Stream s)) m (Either SomeException (b, Stream s))Source