on master help sign in
MonadThrow, MonadCatch, MonadMask instances

closes #5

commitfa27ac9b583c53472e8eeb51df8f889eff0c958b authorIndex Int <vlad.z.4096@gmail.com> dateSat 12 Dec 2015, 01:00 (11 years ago) parent244f154
7 files changed+26−6
CHANGELOG.md+9 ether.cabal+2−1 src/Control/Monad/Trans/Ether/Except.hs+3−1 src/Control/Monad/Trans/Ether/Reader.hs+3−1 src/Control/Monad/Trans/Ether/State/Lazy.hs+3−1 src/Control/Monad/Trans/Ether/State/Strict.hs+3−1 src/Control/Monad/Trans/Ether/Writer.hs+3−1
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+
1100.3.1.1
211-------
312
ether.cabal+2−1
@@ -1,5 +1,5 @@
11name: ether
2−version: 0.3.1.1
2+version: 0.4.0.0
33synopsis: Monad transformers and classes
44description:
55 Ether is a Haskell library that extends @mtl@ and @transformers@ with
@@ -62,6 +62,7 @@ library
6262 , mmorph >=1.0.4
6363 , monad-control >=1.0.0.4
6464 , transformers-base >=0.4.4
65+ , exceptions >=0.8
6566 , template-haskell >=2.9
6667
6768 default-language: Haskell2010
src/Control/Monad/Trans/Ether/Except.hs+3−1
@@ -34,6 +34,7 @@ import Control.Monad.Fix (MonadFix)
3434import Control.Monad.Trans.Class (MonadTrans, lift)
3535import Control.Monad.IO.Class (MonadIO)
3636import Control.Monad.Morph (MFunctor, MMonad)
37+import Control.Monad.Catch (MonadThrow, MonadCatch)
3738import GHC.Generics (Generic)
3839import Data.Coerce (coerce)
3940
@@ -74,7 +75,8 @@ runExcept t = Trans.runExcept . untagged t
7475newtype ExceptT tag e m a = ExceptT (Trans.ExceptT e m a)
7576 deriving ( Generic
7677 , Functor, Applicative, Alternative, Monad, MonadPlus
77− , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
78+ , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
79+ , MonadThrow, MonadCatch )
7880
7981-- | Type-restricted `coerce`.
8082pack :: 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)
3434import Control.Monad.Trans.Class (MonadTrans, lift)
3535import Control.Monad.IO.Class (MonadIO)
3636import Control.Monad.Morph (MFunctor, MMonad)
37+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
3738import GHC.Generics (Generic)
3839import Data.Coerce (coerce)
3940
@@ -70,7 +71,8 @@ type Reader tag r = ReaderT tag r Identity
7071newtype ReaderT tag r m a = ReaderT (Trans.ReaderT r m a)
7172 deriving ( Generic
7273 , Functor, Applicative, Alternative, Monad, MonadPlus
73− , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
74+ , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
75+ , MonadThrow, MonadCatch, MonadMask )
7476
7577-- | Type-restricted `coerce`.
7678pack :: 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)
3838import Control.Monad.Trans.Class (MonadTrans, lift)
3939import Control.Monad.IO.Class (MonadIO)
4040import Control.Monad.Morph (MFunctor)
41+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
4142import GHC.Generics (Generic)
4243import Data.Coerce (coerce)
4344
@@ -74,7 +75,8 @@ type State tag r = StateT tag r Identity
7475newtype StateT tag s m a = StateT (Trans.StateT s m a)
7576 deriving ( Generic
7677 , Functor, Applicative, Alternative, Monad, MonadPlus
77− , MonadFix, MonadTrans, MonadIO, MFunctor )
78+ , MonadFix, MonadTrans, MonadIO, MFunctor
79+ , MonadThrow, MonadCatch, MonadMask )
7880
7981-- | Type-restricted `coerce`.
8082pack :: 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)
3838import Control.Monad.Trans.Class (MonadTrans, lift)
3939import Control.Monad.IO.Class (MonadIO)
4040import Control.Monad.Morph (MFunctor)
41+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
4142import GHC.Generics (Generic)
4243import Data.Coerce (coerce)
4344
@@ -74,7 +75,8 @@ type State tag r = StateT tag r Identity
7475newtype StateT tag s m a = StateT (Trans.StateT s m a)
7576 deriving ( Generic
7677 , Functor, Applicative, Alternative, Monad, MonadPlus
77− , MonadFix, MonadTrans, MonadIO, MFunctor )
78+ , MonadFix, MonadTrans, MonadIO, MFunctor
79+ , MonadThrow, MonadCatch, MonadMask )
7880
7981-- | Type-restricted `coerce`.
8082pack :: 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)
4242import Control.Monad.Trans.Class (MonadTrans, lift)
4343import Control.Monad.IO.Class (MonadIO)
4444import Control.Monad.Morph (MFunctor, MMonad)
45+import Control.Monad.Catch (MonadThrow, MonadCatch, MonadMask)
4546import GHC.Generics (Generic)
4647import Data.Coerce (coerce)
4748
@@ -77,7 +78,8 @@ type Writer tag w = WriterT tag w Identity
7778newtype WriterT tag w m a = WriterT (Trans.WriterT w m a)
7879 deriving ( Generic
7980 , Functor, Applicative, Alternative, Monad, MonadPlus
80− , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
81+ , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad
82+ , MonadThrow, MonadCatch, MonadMask )
8183
8284-- | Type-restricted `coerce`.
8385pack :: Trans.WriterT w m a -> WriterT tag w m a