on master help sign in
Derive MonadResource instances for KatipT, KatipContextT
commitbf9a18236ad3f5261485db7633f33f46d6196ac3 authorJack Kelly <jack.kelly@bellroy.com> dateThu 13 Aug 2020, 10:30 (6 years ago) parenta3575ea
2 files changed+7−3
katip/src/Katip/Core.hs+4−2 katip/src/Katip/Monadic.hs+3−1
katip/src/Katip/Core.hs+4−2
@@ -44,7 +44,8 @@ import Control.Monad.Trans.Either
4444import Control.Monad.Trans.Except
4545import Control.Monad.Trans.Maybe
4646import Control.Monad.Trans.Reader
47−import Control.Monad.Trans.Resource (ResourceT, transResourceT)
47+import Control.Monad.Trans.Resource (MonadResource, ResourceT,
48+ transResourceT)
4849import Control.Monad.Trans.RWS.Lazy (RWST, mapRWST)
4950import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST, mapRWST)
5051import Control.Monad.Trans.State.Lazy (StateT, mapStateT)
@@ -879,7 +880,8 @@ instance (Katip m) => Katip (ResourceT m) where
879880-- opposed to implementing 'Katip' for your monad.
880881newtype KatipT m a = KatipT { unKatipT :: ReaderT LogEnv m a }
881882 deriving ( Functor, Applicative, Monad, MonadIO
882− , MonadMask, MonadCatch, MonadThrow, MonadTrans, MonadBase b)
883+ , MonadMask, MonadCatch, MonadThrow, MonadResource, MonadTrans
884+ , MonadBase b)
883885
884886
885887instance MonadIO m => Katip (KatipT m) where
katip/src/Katip/Monadic.hs+3−1
@@ -58,7 +58,8 @@ import Control.Monad.Trans.Either (EitherT, mapEitherT)
5858import Control.Monad.Trans.Except (ExceptT, mapExceptT)
5959import Control.Monad.Trans.Identity (IdentityT, mapIdentityT)
6060import Control.Monad.Trans.Maybe (MaybeT, mapMaybeT)
61−import Control.Monad.Trans.Resource (ResourceT, transResourceT)
61+import Control.Monad.Trans.Resource (MonadResource,
62+ ResourceT, transResourceT)
6263import Control.Monad.Trans.RWS (RWST, mapRWST)
6364import qualified Control.Monad.Trans.RWS.Strict as Strict (RWST, mapRWST)
6465import qualified Control.Monad.Trans.State.Strict as Strict (StateT, mapStateT)
@@ -349,6 +350,7 @@ newtype KatipContextT m a = KatipContextT {
349350 , MonadWriter w
350351 , MonadError e
351352 , MonadPlus
353+ , MonadResource
352354 , Alternative
353355 , MonadFix
354356 , MonadTrans