| 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