Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
A tiny stream that can be afforded to incrementally.
The streaming abstraction works fine if multiple sources feed into a
small constant number of functions, but fails if there is an
unpredictable number of such consumers. In that case, evertStream
should be used to turn each consumer into a Furrow
. It's then
possible to incrementally afford
stuff to each Furrow
in a
collection in a simple loop. To get the final value, drain
each
Furrow
.
Instances
MMonad (Furrow a) Source # | |
MonadTrans (Furrow a) Source # | |
Defined in Bio.Streaming.Furrow | |
MFunctor (Furrow a :: (Type -> Type) -> Type -> Type) Source # | |
Monad m => Monad (Furrow a m) Source # | |
Monad m => Functor (Furrow a m) Source # | |
Monad m => Applicative (Furrow a m) Source # | |
Defined in Bio.Streaming.Furrow | |
MonadIO m => MonadIO (Furrow a m) Source # | |
Defined in Bio.Streaming.Furrow | |
MonadThrow m => MonadThrow (Furrow a m) Source # | |
Defined in Bio.Streaming.Furrow |