on master help sign in
MonadThrow, MonadCatch, MonadMask instances
fa27ac9Index Int
CHANGELOG.md+9
@@ -1,3 +1,12 @@
1+0.4.0.0
2+-------
3+
4+* Remove `Control.Ether.Tagged`.
5+* `MonadThrow`, `MonadCatch`, `MonadMask` instances.
6+* `MonadBase`, `MonadBaseControl` for `WrapEther`.
7+* Drop `newtype-generics`.
8+
9+
10.3.1.1
100.3.1.1
2-------
11-------
3
12
ether.cabal+2−1
@@ -1,5 +1,5 @@
1name: ether
1name: ether
2−version: 0.3.1.1
2+version: 0.4.0.0
3synopsis: Monad transformers and classes
3synopsis: Monad transformers and classes
4description:
4description:
5 Ether is a Haskell library that extends @mtl@ and @transformers@ with
5 Ether is a Haskell library that extends @mtl@ and @transformers@ with
@@ -62,6 +62,7 @@ library
62 , mmorph >=1.0.4
62 , mmorph >=1.0.4
63 , monad-control >=1.0.0.4
63 , monad-control >=1.0.0.4
64 , transformers-base >=0.4.4
64 , transformers-base >=0.4.4
65+ , exceptions >=0.8
65 , template-haskell >=2.9
66 , template-haskell >=2.9
66
67
67 default-language: Haskell2010
68 default-language: Haskell2010
src/Control/Monad/Trans/Ether/Except.hs+3−1
@@ -34,6 +34,7 @@ import Control.Monad.Fix (MonadFix)
34import Control.Monad.Trans.Class (MonadTrans, lift)
34import Control.Monad.Trans.Class (MonadTrans, lift)
35import Control.Monad.IO.Class (MonadIO)
35import Control.Monad.IO.Class (MonadIO)
36import Control.Monad.Morph (MFunctor, MMonad)
36import Control.Monad.Morph (MFunctor, MMonad)
37+import Control.Monad.Catch (MonadThrow, MonadCatch)
37import GHC.Generics (Generic)
38import GHC.Generics (Generic)
38import Data.Coerce (coerce)
39import Data.Coerce (coerce)
39
40
@@ -74,7 +75,8 @@ runExcept t = Trans.runExcept . untagged t
74newtype ExceptT tag e m a = ExceptT (Trans.ExceptT e m a)
75newtype ExceptT tag e m a = ExceptT (Trans.ExceptT e m a)
75 deriving ( Generic
76 deriving ( Generic
76 , Functor, Applicative, Alternative, Monad, MonadPlus
77 , Functor, Applicative, Alternative, Monad, MonadPlus
77− , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
78+ , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
79+ , MonadThrow, MonadCatch )
78
80
79-- | Type-restricted `coerce`.
81-- | Type-restricted `coerce`.
80pack :: Trans.ExceptT e m a -> ExceptT tag e m a
82pack :: Trans.ExceptT e m a -> ExceptT tag e m a
src/Control/Monad/Trans/Ether/Reader.hs+3−1
@@ -34,6 +34,7 @@ import Control.Monad.Fix (MonadFix)
34import Control.Monad.Trans.Class (MonadTrans, lift)
34import Control.Monad.Trans.Class (MonadTrans, lift)
35import Control.Monad.IO.Class (MonadIO)
35import Control.Monad.IO.Class (MonadIO)
36import Control.Monad.Morph (MFunctor, MMonad)
36import Control.Monad.Morph (MFunctor, MMonad)
37+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
37import GHC.Generics (Generic)
38import GHC.Generics (Generic)
38import Data.Coerce (coerce)
39import Data.Coerce (coerce)
39
40
@@ -70,7 +71,8 @@ type Reader tag r = ReaderT tag r Identity
70newtype ReaderT tag r m a = ReaderT (Trans.ReaderT r m a)
71newtype ReaderT tag r m a = ReaderT (Trans.ReaderT r m a)
71 deriving ( Generic
72 deriving ( Generic
72 , Functor, Applicative, Alternative, Monad, MonadPlus
73 , Functor, Applicative, Alternative, Monad, MonadPlus
73− , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
74+ , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
75+ , MonadThrow, MonadCatch, MonadMask )
74
76
75-- | Type-restricted `coerce`.
77-- | Type-restricted `coerce`.
76pack :: Trans.ReaderT r m a -> ReaderT tag r m a
78pack :: Trans.ReaderT r m a -> ReaderT tag r m a
src/Control/Monad/Trans/Ether/State/Lazy.hs+3−1
@@ -38,6 +38,7 @@ import Control.Monad.Fix (MonadFix)
38import Control.Monad.Trans.Class (MonadTrans, lift)
38import Control.Monad.Trans.Class (MonadTrans, lift)
39import Control.Monad.IO.Class (MonadIO)
39import Control.Monad.IO.Class (MonadIO)
40import Control.Monad.Morph (MFunctor)
40import Control.Monad.Morph (MFunctor)
41+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
41import GHC.Generics (Generic)
42import GHC.Generics (Generic)
42import Data.Coerce (coerce)
43import Data.Coerce (coerce)
43
44
@@ -74,7 +75,8 @@ type State tag r = StateT tag r Identity
74newtype StateT tag s m a = StateT (Trans.StateT s m a)
75newtype StateT tag s m a = StateT (Trans.StateT s m a)
75 deriving ( Generic
76 deriving ( Generic
76 , Functor, Applicative, Alternative, Monad, MonadPlus
77 , Functor, Applicative, Alternative, Monad, MonadPlus
77− , MonadFix, MonadTrans, MonadIO, MFunctor )
78+ , MonadFix, MonadTrans, MonadIO, MFunctor
79+ , MonadThrow, MonadCatch, MonadMask )
78
80
79-- | Type-restricted `coerce`.
81-- | Type-restricted `coerce`.
80pack :: Trans.StateT s m a -> StateT tag s m a
82pack :: Trans.StateT s m a -> StateT tag s m a
src/Control/Monad/Trans/Ether/State/Strict.hs+3−1
@@ -38,6 +38,7 @@ import Control.Monad.Fix (MonadFix)
38import Control.Monad.Trans.Class (MonadTrans, lift)
38import Control.Monad.Trans.Class (MonadTrans, lift)
39import Control.Monad.IO.Class (MonadIO)
39import Control.Monad.IO.Class (MonadIO)
40import Control.Monad.Morph (MFunctor)
40import Control.Monad.Morph (MFunctor)
41+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
41import GHC.Generics (Generic)
42import GHC.Generics (Generic)
42import Data.Coerce (coerce)
43import Data.Coerce (coerce)
43
44
@@ -74,7 +75,8 @@ type State tag r = StateT tag r Identity
74newtype StateT tag s m a = StateT (Trans.StateT s m a)
75newtype StateT tag s m a = StateT (Trans.StateT s m a)
75 deriving ( Generic
76 deriving ( Generic
76 , Functor, Applicative, Alternative, Monad, MonadPlus
77 , Functor, Applicative, Alternative, Monad, MonadPlus
77− , MonadFix, MonadTrans, MonadIO, MFunctor )
78+ , MonadFix, MonadTrans, MonadIO, MFunctor
79+ , MonadThrow, MonadCatch, MonadMask )
78
80
79-- | Type-restricted `coerce`.
81-- | Type-restricted `coerce`.
80pack :: Trans.StateT s m a -> StateT tag s m a
82pack :: Trans.StateT s m a -> StateT tag s m a
src/Control/Monad/Trans/Ether/Writer.hs+3−1
@@ -42,6 +42,7 @@ import Control.Monad.Fix (MonadFix)
42import Control.Monad.Trans.Class (MonadTrans, lift)
42import Control.Monad.Trans.Class (MonadTrans, lift)
43import Control.Monad.IO.Class (MonadIO)
43import Control.Monad.IO.Class (MonadIO)
44import Control.Monad.Morph (MFunctor, MMonad)
44import Control.Monad.Morph (MFunctor, MMonad)
45+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
45import GHC.Generics (Generic)
46import GHC.Generics (Generic)
46import Data.Coerce (coerce)
47import Data.Coerce (coerce)
47
48
@@ -77,7 +78,8 @@ type Writer tag w = WriterT tag w Identity
77newtype WriterT tag w m a = WriterT (Trans.WriterT w m a)
78newtype WriterT tag w m a = WriterT (Trans.WriterT w m a)
78 deriving ( Generic
79 deriving ( Generic
79 , Functor, Applicative, Alternative, Monad, MonadPlus
80 , Functor, Applicative, Alternative, Monad, MonadPlus
80− , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
81+ , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
82+ , MonadThrow, MonadCatch, MonadMask )
81
83
82-- | Type-restricted `coerce`.
84-- | Type-restricted `coerce`.
83pack :: Trans.WriterT w m a -> WriterT tag w m a
85pack :: Trans.WriterT w m a -> WriterT tag w m a