Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
UnliftIO.Resource
Description
Unlifted Control.Monad.Trans.Resource.
Since: 0.1.0.0
- data ResourceT m a :: (* -> *) -> * -> *
- runResourceT :: MonadUnliftIO m => ResourceT m a -> m a
- liftResourceT :: MonadIO m => ResourceT IO a -> ResourceT m a
Documentation
data ResourceT m a :: (* -> *) -> * -> * #
The Resource transformer. This transformer keeps track of all registered
actions, and calls them upon exit (via runResourceT
). Actions may be
registered via register
, or resources may be allocated atomically via
allocate
. allocate
corresponds closely to bracket
.
Releasing may be performed before exit via the release
function. This is a
highly recommended optimization, as it will ensure that scarce resources are
freed early. Note that calling release
will deregister the action, so that
a release action will only ever be called once.
Since 0.3.0
Instances
MonadTrans ResourceT | |
MonadTransControl ResourceT | |
MMonad ResourceT | Since 0.4.7 |
MFunctor ResourceT | Since 0.4.7 |
MonadRWS r w s m => MonadRWS r w s (ResourceT m) | |
MonadBaseControl b m => MonadBaseControl b (ResourceT m) | |
MonadState s m => MonadState s (ResourceT m) | |
MonadWriter w m => MonadWriter w (ResourceT m) | |
MonadReader r m => MonadReader r (ResourceT m) | |
MonadError e m => MonadError e (ResourceT m) | |
MonadBase b m => MonadBase b (ResourceT m) | |
Monad m => Monad (ResourceT m) | |
Functor m => Functor (ResourceT m) | |
MonadFix m => MonadFix (ResourceT m) | Since: 1.1.8 |
Applicative m => Applicative (ResourceT m) | |
MonadIO m => MonadIO (ResourceT m) | |
Alternative m => Alternative (ResourceT m) | Since 1.1.5 |
MonadPlus m => MonadPlus (ResourceT m) | Since 1.1.5 |
MonadLogger m => MonadLogger (ResourceT m) | |
MonadLoggerIO m => MonadLoggerIO (ResourceT m) | |
(MonadThrow m, MonadBase IO m, MonadIO m, Applicative m) => MonadResource (ResourceT m) | |
MonadThrow m => MonadThrow (ResourceT m) | |
MonadMask m => MonadMask (ResourceT m) | |
MonadCont m => MonadCont (ResourceT m) | |
MonadCatch m => MonadCatch (ResourceT m) | |
type StT ResourceT a | |
type StM (ResourceT m) a | |
runResourceT :: MonadUnliftIO m => ResourceT m a -> m a Source #
Unlifted version of runResourceT
.
Since: 0.1.0.0
liftResourceT :: MonadIO m => ResourceT IO a -> ResourceT m a Source #
Lifted version of liftResourceT
.
Since: 0.1.0.0