{-# OPTIONS_GHC -Wno-orphans #-}
module Control.Monad.Class.MonadSay.Trans () where
import Control.Monad.Cont
import Control.Monad.Except
import Control.Monad.RWS
import Control.Monad.State
import Control.Monad.Writer
import Control.Monad.Class.MonadSay
instance MonadSay m => MonadSay (ContT r m) where
say :: String -> ContT r m ()
say = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *). MonadSay m => String -> m ()
say
instance MonadSay m => MonadSay (ExceptT e m) where
say :: String -> ExceptT e m ()
say = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *). MonadSay m => String -> m ()
say
instance (Monoid w, MonadSay m) => MonadSay (RWST r w s m) where
say :: String -> RWST r w s m ()
say = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *). MonadSay m => String -> m ()
say
instance MonadSay m => MonadSay (StateT s m) where
say :: String -> StateT s m ()
say = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *). MonadSay m => String -> m ()
say
instance (Monoid w, MonadSay m) => MonadSay (WriterT w m) where
say :: String -> WriterT w m ()
say = forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *). MonadSay m => String -> m ()
say