on master help sign in
Add forgotten ReaderT instances
0075a7cIndex Int
src/Control/Ether/Core.hs+4
@@ -18,6 +18,7 @@ import qualified Control.Monad.Trans.Except as Trans
18import qualified Control.Monad.Trans.Identity as Trans
18import qualified Control.Monad.Trans.Identity as Trans
19import qualified Control.Monad.Trans.List as Trans
19import qualified Control.Monad.Trans.List as Trans
20import qualified Control.Monad.Trans.Maybe as Trans
20import qualified Control.Monad.Trans.Maybe as Trans
21+import qualified Control.Monad.Trans.Reader as Trans
21import qualified Control.Monad.Trans.State.Lazy as Trans.Lazy
22import qualified Control.Monad.Trans.State.Lazy as Trans.Lazy
22import qualified Control.Monad.Trans.State.Strict as Trans.Strict
23import qualified Control.Monad.Trans.State.Strict as Trans.Strict
23import qualified Control.Monad.Trans.Writer.Lazy as Trans.Lazy
24import qualified Control.Monad.Trans.Writer.Lazy as Trans.Lazy
@@ -59,6 +60,9 @@ instance Monad m => MonadEther (Trans.ListT m) where
59instance Monad m => MonadEther (Trans.MaybeT m) where
60instance Monad m => MonadEther (Trans.MaybeT m) where
60 type EtherTags (Trans.MaybeT m) = EtherTags m
61 type EtherTags (Trans.MaybeT m) = EtherTags m
61
62
63+instance Monad m => MonadEther (Trans.ReaderT r m) where
64+ type EtherTags (Trans.ReaderT r m) = EtherTags m
65+
62instance Monad m => MonadEther (Trans.Lazy.StateT s m) where
66instance Monad m => MonadEther (Trans.Lazy.StateT s m) where
63 type EtherTags (Trans.Lazy.StateT s m) = EtherTags m
67 type EtherTags (Trans.Lazy.StateT s m) = EtherTags m
64
68
src/Control/Monad/Ether/Reader.hs+5
@@ -24,6 +24,7 @@ import qualified Control.Monad.Trans.Except as Trans (ExceptT , m
24import qualified Control.Monad.Trans.Identity as Trans (IdentityT, mapIdentityT)
24import qualified Control.Monad.Trans.Identity as Trans (IdentityT, mapIdentityT)
25import qualified Control.Monad.Trans.List as Trans (ListT , mapListT)
25import qualified Control.Monad.Trans.List as Trans (ListT , mapListT)
26import qualified Control.Monad.Trans.Maybe as Trans (MaybeT , mapMaybeT)
26import qualified Control.Monad.Trans.Maybe as Trans (MaybeT , mapMaybeT)
27+import qualified Control.Monad.Trans.Reader as Trans (ReaderT , mapReaderT)
27import qualified Control.Monad.Trans.State.Lazy as Trans.Lazy (StateT , mapStateT)
28import qualified Control.Monad.Trans.State.Lazy as Trans.Lazy (StateT , mapStateT)
28import qualified Control.Monad.Trans.State.Strict as Trans.Strict (StateT , mapStateT)
29import qualified Control.Monad.Trans.State.Strict as Trans.Strict (StateT , mapStateT)
29import qualified Control.Monad.Trans.Writer.Lazy as Trans.Lazy (WriterT , mapWriterT)
30import qualified Control.Monad.Trans.Writer.Lazy as Trans.Lazy (WriterT , mapWriterT)
@@ -70,6 +71,10 @@ instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.MaybeT m) whe
70 etherAsk proxy = lift (etherAsk proxy)
71 etherAsk proxy = lift (etherAsk proxy)
71 etherLocal proxy = Trans.mapMaybeT . etherLocal proxy
72 etherLocal proxy = Trans.mapMaybeT . etherLocal proxy
72
73
74+instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.ReaderT r' m) where
75+ etherAsk proxy = lift (etherAsk proxy)
76+ etherLocal proxy = Trans.mapReaderT . etherLocal proxy
77+
73instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.Lazy.StateT s m) where
78instance MonadEtherReader tag r m => MonadEtherReader tag r (Trans.Lazy.StateT s m) where
74 etherAsk proxy = lift (etherAsk proxy)
79 etherAsk proxy = lift (etherAsk proxy)
75 etherLocal proxy = Trans.Lazy.mapStateT . etherLocal proxy
80 etherLocal proxy = Trans.Lazy.mapStateT . etherLocal proxy