git.iko.soy/typeable/swagger2
on master help sign in
add (lazy and strict) StateT and RWST
0e46274moss
src/Data/Swagger/Declare.hs+20
@@ -22,6 +22,10 @@ import Control.Monad.Trans
22import Control.Monad.Trans.Except (ExceptT)
22import Control.Monad.Trans.Except (ExceptT)
23import Control.Monad.Trans.Identity (IdentityT)
23import Control.Monad.Trans.Identity (IdentityT)
24import Control.Monad.Trans.Maybe (MaybeT)
24import Control.Monad.Trans.Maybe (MaybeT)
25+import Control.Monad.Trans.State.Lazy as Lazy
26+import Control.Monad.Trans.State.Strict as Strict
27+import Control.Monad.Trans.RWS.Lazy as Lazy
28+import Control.Monad.Trans.RWS.Strict as Strict
25import Control.Monad.Trans.Writer.Lazy as Lazy
29import Control.Monad.Trans.Writer.Lazy as Lazy
26import Control.Monad.Trans.Writer.Strict as Strict
30import Control.Monad.Trans.Writer.Strict as Strict
27import Data.Functor.Identity
31import Data.Functor.Identity
@@ -171,6 +175,22 @@ instance MonadDeclare d m => MonadDeclare d (ReaderT r m) where
171 declare = lift . declare
175 declare = lift . declare
172 look = lift look
176 look = lift look
173
177
178+instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Lazy.RWST r w s m) where
179+ declare = lift . declare
180+ look = lift look
181+
182+instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Strict.RWST r w s m) where
183+ declare = lift . declare
184+ look = lift look
185+
186+instance MonadDeclare d m => MonadDeclare d (Lazy.StateT s m) where
187+ declare = lift . declare
188+ look = lift look
189+
190+instance MonadDeclare d m => MonadDeclare d (Strict.StateT s m) where
191+ declare = lift . declare
192+ look = lift look
193+
174instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Lazy.WriterT w m) where
194instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Lazy.WriterT w m) where
175 declare = lift . declare
195 declare = lift . declare
176 look = lift look
196 look = lift look