Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Use lazy I/O for consuming the contents of a source. Warning: All normal
warnings of lazy I/O apply. In particular, if you are using this with a
ResourceT
transformer, you must force the list to be evaluated before
exiting the
ResourceT
.
Synopsis
- lazyConsume :: forall m a. ( MonadUnliftIO m, MonadActive m) => Source m a -> m [a]
-
class
Monad
m =>
MonadActive
m
where
- monadActive :: m Bool
Documentation
lazyConsume :: forall m a. ( MonadUnliftIO m, MonadActive m) => Source m a -> m [a] Source #
Use lazy I/O to consume all elements from a
Source
.
This function relies on
monadActive
to determine if the underlying monadic
state has been closed.
Since 0.3.0
class Monad m => MonadActive m where Source #
Determine if some monad is still active. This is intended to prevent usage
of a monadic state after it has been closed. This is necessary for such
cases as lazy I/O, where an unevaluated thunk may still refer to a
closed
ResourceT
.
Since 0.3.0
monadActive :: m Bool Source #