packages feed

monads-tf 0.2.0.0 → 0.2.1.0

raw patch · 7 files changed

+36/−1 lines, 7 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Control.Monad.Cont.Class: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.RWS.Class: instance Control.Monad.RWS.Class.MonadRWS m => Control.Monad.RWS.Class.MonadRWS (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.Reader.Class: instance Control.Monad.Reader.Class.MonadReader m => Control.Monad.Reader.Class.MonadReader (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.State.Class: instance Control.Monad.State.Class.MonadState m => Control.Monad.State.Class.MonadState (Control.Monad.Trans.Except.ExceptT e m)
+ Control.Monad.Writer.Class: instance Control.Monad.Writer.Class.MonadWriter m => Control.Monad.Writer.Class.MonadWriter (Control.Monad.Trans.Except.ExceptT e m)

Files

Control/Monad/Cont/Class.hs view
@@ -55,6 +55,7 @@ import Control.Monad.Trans.Cont (ContT) import qualified Control.Monad.Trans.Cont as ContT import Control.Monad.Trans.Error as Error+import Control.Monad.Trans.Except as Except import Control.Monad.Trans.Identity as Identity import Control.Monad.Trans.List as List import Control.Monad.Trans.Maybe as Maybe@@ -95,6 +96,9 @@  instance (Error e, MonadCont m) => MonadCont (ErrorT e m) where     callCC = Error.liftCallCC callCC++instance (MonadCont m) => MonadCont (ExceptT e m) where+    callCC = Except.liftCallCC callCC  instance (MonadCont m) => MonadCont (IdentityT m) where     callCC = Identity.liftCallCC callCC
Control/Monad/RWS/Class.hs view
@@ -31,6 +31,7 @@ import Control.Monad.Writer.Class  import Control.Monad.Trans.Error(Error, ErrorT)+import Control.Monad.Trans.Except(ExceptT) import Control.Monad.Trans.Maybe(MaybeT) import Control.Monad.Trans.Identity(IdentityT) import Control.Monad.Trans.RWS.Lazy as Lazy (RWST)@@ -47,6 +48,8 @@ -- Instances for other mtl transformers  instance (Error e, MonadRWS m) => MonadRWS (ErrorT e m)++instance (MonadRWS m) => MonadRWS (ExceptT e m)  instance (MonadRWS m) => MonadRWS (IdentityT m) 
Control/Monad/Reader/Class.hs view
@@ -42,6 +42,7 @@  import Control.Monad.Trans.Cont as Cont import Control.Monad.Trans.Error+import Control.Monad.Trans.Except import Control.Monad.Trans.Identity import Control.Monad.Trans.List import Control.Monad.Trans.Maybe@@ -117,6 +118,11 @@     type EnvType (ErrorT e m) = EnvType m     ask   = lift ask     local = mapErrorT . local++instance (MonadReader m) => MonadReader (ExceptT e m) where+    type EnvType (ExceptT e m) = EnvType m+    ask   = lift ask+    local = mapExceptT . local  instance (MonadReader m) => MonadReader (IdentityT m) where     type EnvType (IdentityT m) = EnvType m
Control/Monad/State/Class.hs view
@@ -28,6 +28,7 @@ import Control.Monad.Trans (lift) import Control.Monad.Trans.Cont import Control.Monad.Trans.Error+import Control.Monad.Trans.Except import Control.Monad.Trans.Identity import Control.Monad.Trans.List import Control.Monad.Trans.Maybe@@ -104,6 +105,11 @@  instance (Error e, MonadState m) => MonadState (ErrorT e m) where     type StateType (ErrorT e m) = StateType m+    get = lift get+    put = lift . put++instance (MonadState m) => MonadState (ExceptT e m) where+    type StateType (ExceptT e m) = StateType m     get = lift get     put = lift . put 
Control/Monad/Writer/Class.hs view
@@ -25,6 +25,7 @@   ) where  import Control.Monad.Trans.Error as Error+import Control.Monad.Trans.Except as Except import Control.Monad.Trans.Identity as Identity import Control.Monad.Trans.Maybe as Maybe import Control.Monad.Trans.Reader@@ -100,6 +101,12 @@     tell   = lift . tell     listen = Error.liftListen listen     pass   = Error.liftPass pass++instance (MonadWriter m) => MonadWriter (ExceptT e m) where+    type WriterType (ExceptT e m) = WriterType m+    tell   = lift . tell+    listen = Except.liftListen listen+    pass   = Except.liftPass pass  instance (MonadWriter m) => MonadWriter (IdentityT m) where     type WriterType (IdentityT m) = WriterType m
changelog.md view
@@ -1,3 +1,12 @@+## 0.2.1.0++Add `MonadCont`, `MonadReader`, `MonadState`, `MonadRWS`,+`MonadWriter` instances for `ExceptT`.++Published by: Chris Martin++Date: 2023-07-10+ ## 0.2.0.0  Added new modules `Control.Monad.Except` and
monads-tf.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0  name:         monads-tf-version:      0.2.0.0+version:      0.2.1.0 license:      BSD-3-Clause license-file: LICENSE author:       Andy Gill