packages feed

monad-logger 0.3.4.1 → 0.3.5

raw patch · 2 files changed

+21/−2 lines, 2 filesdep +exceptionsdep ~base

Dependencies added: exceptions

Dependency ranges changed: base

Files

Control/Monad/Logger.hs view
@@ -75,7 +75,7 @@ import Control.Applicative (Applicative (..)) import Control.Concurrent.STM import Control.Concurrent.STM.TBChan-import Control.Exception.Lifted+import Control.Exception.Lifted (onException) import Control.Monad (liftM, ap, when, void) import Control.Monad.Base (MonadBase (liftBase)) import Control.Monad.Loops (untilM)@@ -86,6 +86,7 @@ import Control.Monad.Trans.Resource (MonadResource (liftResourceT), MonadThrow, monadThrow) #if MIN_VERSION_resourcet(1,1,0) import Control.Monad.Trans.Resource (throwM)+import Control.Monad.Catch (MonadCatch (..)) #endif  import Control.Monad.Trans.Identity ( IdentityT)@@ -265,6 +266,15 @@ #if MIN_VERSION_resourcet(1,1,0) instance MonadThrow m => MonadThrow (NoLoggingT m) where     throwM = Trans.lift . throwM++instance MonadCatch m => MonadCatch (NoLoggingT m) where+    catch (NoLoggingT m) c =+        NoLoggingT $ m `catch` \e -> runNoLoggingT (c e)+    mask a = NoLoggingT $ mask $ \u -> runNoLoggingT (a $ q u)+      where q u (NoLoggingT b) = NoLoggingT $ u b+    uninterruptibleMask a =+        NoLoggingT $ uninterruptibleMask $ \u -> runNoLoggingT (a $ q u)+      where q u (NoLoggingT b) = NoLoggingT $ u b #else instance MonadThrow m => MonadThrow (NoLoggingT m) where     monadThrow = Trans.lift . monadThrow@@ -321,6 +331,14 @@ #if MIN_VERSION_resourcet(1,1,0) instance MonadThrow m => MonadThrow (LoggingT m) where     throwM = Trans.lift . throwM+instance MonadCatch m => MonadCatch (LoggingT m) where+  catch (LoggingT m) c =+      LoggingT $ \r -> m r `catch` \e -> runLoggingT (c e) r+  mask a = LoggingT $ \e -> mask $ \u -> runLoggingT (a $ q u) e+    where q u (LoggingT b) = LoggingT (u . b)+  uninterruptibleMask a =+    LoggingT $ \e -> uninterruptibleMask $ \u -> runLoggingT (a $ q u) e+      where q u (LoggingT b) = LoggingT (u . b) #else instance MonadThrow m => MonadThrow (LoggingT m) where     monadThrow = Trans.lift . monadThrow
monad-logger.cabal view
@@ -1,5 +1,5 @@ name:                monad-logger-version:             0.3.4.1+version:             0.3.5 synopsis:            A class of monads which can log messages. description:         This package uses template-haskell for determining source code locations of messages. homepage:            https://github.com/kazu-yamamoto/logger@@ -35,6 +35,7 @@                      , mtl                      , bytestring                      , blaze-builder+                     , exceptions   if flag(template_haskell)      build-depends:     template-haskell