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 +4/−0
- Control/Monad/RWS/Class.hs +3/−0
- Control/Monad/Reader/Class.hs +6/−0
- Control/Monad/State/Class.hs +6/−0
- Control/Monad/Writer/Class.hs +7/−0
- changelog.md +9/−0
- monads-tf.cabal +1/−1
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