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

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

# Documentation

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

Converts a `Coroutine`

parameterized with the `Yield`

functor into an `Enumerator`

.

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

Converts an `Enumerator`

into a `Coroutine`

parameterized with the `Yield`

functor.

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

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

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