lazy-async-1.0.0.0: src/LazyAsync/Types/Resource.hs
{-# language Safe #-}
module LazyAsync.Types.Resource where
import LazyAsync.Prelude (Functor)
{- | A resource and an action that releases it
A /resource/ is something that can be /acquired/ and then /released/, where
releasing an object once it is no longer needed is important because the supply
is exhaustible.
-}
data Resource m a = Resource{ release :: m (), resource :: a }
deriving Functor