Resource management monad transformer. $$\text{ResourceT}\ m\ \alpha = \text{IO.Ref CleanupMap} \to m\ \alpha$$
Equations
Instances For
@[implicit_reducible]
Equations
- Control.Monad.Trans.Resource.instMonadLiftIOResourceT = { monadLift := fun {α : Type} (io : IO α) (x : IO.Ref Control.Monad.Trans.Resource.CleanupMap✝) => MonadLift.monadLift io }
def
Control.Monad.Trans.Resource.allocate
{α : Type}
(acquire : IO α)
(release : α → IO Unit)
:
ResourceT IO (ReleaseKey × α)
Register a resource with its cleanup action.
Returns a ReleaseKey that can be used to release early.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Release a resource early. No-op if already released.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ReleaseKey equality is by id.