control-monad-failure 0.4 → 0.5.0
raw patch · 2 files changed
+1/−85 lines, 2 filesdep −mtlPVP ok
version bump matches the API change (PVP)
Dependencies removed: mtl
API changes (from Hackage documentation)
- Control.Monad.Failure.MTL: instance (Error e, Monad m) => MonadFailure e (ErrorT e m)
- Control.Monad.Failure.MTL: instance (MonadFailure e m) => MonadFailure e (ListT m)
- Control.Monad.Failure.MTL: instance (MonadFailure e m) => MonadFailure e (ReaderT r m)
- Control.Monad.Failure.MTL: instance (MonadFailure e m) => MonadFailure e (StateT s m)
- Control.Monad.Failure.MTL: instance (Monoid w, MonadFailure e m) => MonadFailure e (RWST r w s m)
- Control.Monad.Failure.MTL: instance (Monoid w, MonadFailure e m) => MonadFailure e (WriterT w m)
- Control.Monad.Failure.MTL: instance (WrapFailure e m) => WrapFailure e (ListT m)
- Control.Monad.Failure.MTL: instance (WrapFailure e m) => WrapFailure e (ReaderT r m)
- Control.Monad.Failure.MTL: instance (WrapFailure e m) => WrapFailure e (StateT s m)
- Control.Monad.Failure.MTL: instance (WrapFailure e m, Monoid w) => WrapFailure e (RWST r w s m)
- Control.Monad.Failure.MTL: instance (WrapFailure e m, Monoid w) => WrapFailure e (WriterT w m)
Files
− Control/Monad/Failure/MTL.hs
@@ -1,77 +0,0 @@-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE UndecidableInstances #-}-{-# LANGUAGE FlexibleInstances #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Control.Monad.Failure.MTL (module Control.Monad.Failure.Class) where--import Control.Monad.Failure.Class--import Control.Monad.Error-import Control.Monad.List-import Control.Monad.Reader-import Control.Monad.State.Lazy as Lazy-import Control.Monad.State.Strict as Strict-import Control.Monad.Writer.Lazy as Lazy-import Control.Monad.Writer.Strict as Strict-import Control.Monad.RWS.Lazy as Lazy-import Control.Monad.RWS.Strict as Strict-import Data.Monoid---- -------------------------- MonadFailure Instances--- -------------------------instance (Error e, Monad m) => MonadFailure e (ErrorT e m) where- failure = throwError--instance MonadFailure e m => MonadFailure e (ListT m) where- failure = lift . failure--instance MonadFailure e m => MonadFailure e (ReaderT r m) where- failure = lift . failure--instance (Monoid w, MonadFailure e m) => MonadFailure e (Lazy.WriterT w m) where- failure = lift . failure--instance MonadFailure e m => MonadFailure e (Lazy.StateT s m) where- failure = lift . failure--instance (Monoid w, MonadFailure e m) => MonadFailure e (Lazy.RWST r w s m) where- failure = lift . failure--instance (Monoid w, MonadFailure e m) => MonadFailure e (Strict.WriterT w m) where- failure = lift . failure--instance MonadFailure e m => MonadFailure e (Strict.StateT s m) where- failure = lift . failure--instance (Monoid w, MonadFailure e m) => MonadFailure e (Strict.RWST r w s m) where- failure = lift . failure---- ------------------------ WrapFailure instances--- -----------------------instance WrapFailure e m => WrapFailure e (ListT m) where- wrapFailure f = ListT . wrapFailure f . runListT--instance WrapFailure e m => WrapFailure e (ReaderT r m) where- wrapFailure f m = ReaderT $ \r -> wrapFailure f (runReaderT m r)--instance (WrapFailure e m, Monoid w) => WrapFailure e (Lazy.WriterT w m) where- wrapFailure f = Lazy.WriterT . wrapFailure f . Lazy.runWriterT----- all the following instances require undecidable instances-instance WrapFailure e m => WrapFailure e (Lazy.StateT s m) where- wrapFailure f m = Lazy.StateT $ \s -> wrapFailure f (Lazy.runStateT m s)--instance (WrapFailure e m, Monoid w) => WrapFailure e (Lazy.RWST r w s m) where- wrapFailure f m = Lazy.RWST $ \r s -> wrapFailure f (Lazy.runRWST m r s)--instance WrapFailure e m => WrapFailure e (Strict.StateT s m) where- wrapFailure f m = Strict.StateT $ \s -> wrapFailure f (Strict.runStateT m s)--instance (WrapFailure e m, Monoid w) => WrapFailure e (Strict.RWST r w s m) where- wrapFailure f m = Strict.RWST $ \r s -> wrapFailure f (Strict.runRWST m r s)
control-monad-failure.cabal view
@@ -1,5 +1,5 @@ name: control-monad-failure-version: 0.4+version: 0.5.0 Cabal-Version: >= 1.6 build-type: Simple license: PublicDomain@@ -11,9 +11,6 @@ category: Control, Monads stability: experimental -Flag mtl- default: True- Library buildable: True build-depends: base >= 4 && < 5, transformers@@ -24,10 +21,6 @@ Control.Monad.Failure Control.Monad.Failure.Class Control.Monad.Failure.Transformers- if flag(mtl)- cpp-options: -DMTL- build-depends: mtl- exposed-modules: Control.Monad.Failure.MTL source-repository head type: git