MonadTrans instances for GGHandler and GGWidget
This commit is contained in:
parent
06193634c4
commit
62cdd6ba63
@ -213,6 +213,9 @@ newtype GGHandler sub master m a =
|
|||||||
}
|
}
|
||||||
deriving (Functor, Applicative, Monad, MonadIO, MonadPeelIO)
|
deriving (Functor, Applicative, Monad, MonadIO, MonadPeelIO)
|
||||||
|
|
||||||
|
instance MonadTrans (GGHandler s m) where
|
||||||
|
lift = GHandler . lift . lift . lift . lift
|
||||||
|
|
||||||
type GHandler sub master = GGHandler sub master (Iteratee ByteString IO)
|
type GHandler sub master = GGHandler sub master (Iteratee ByteString IO)
|
||||||
|
|
||||||
type GHInner s m monad =
|
type GHInner s m monad =
|
||||||
|
|||||||
@ -52,7 +52,7 @@ import Yesod.Handler
|
|||||||
)
|
)
|
||||||
import Control.Applicative (Applicative)
|
import Control.Applicative (Applicative)
|
||||||
import Control.Monad.IO.Class (MonadIO)
|
import Control.Monad.IO.Class (MonadIO)
|
||||||
import Control.Monad.Trans.Class (lift)
|
import Control.Monad.Trans.Class (MonadTrans (lift))
|
||||||
import Yesod.Internal
|
import Yesod.Internal
|
||||||
import Yesod.Content (RepHtml (RepHtml), Content, toContent)
|
import Yesod.Content (RepHtml (RepHtml), Content, toContent)
|
||||||
import Control.Monad (liftM)
|
import Control.Monad (liftM)
|
||||||
@ -64,6 +64,10 @@ import Control.Monad.IO.Peel (MonadPeelIO)
|
|||||||
-- dependencies along with a 'StateT' to track unique identifiers.
|
-- dependencies along with a 'StateT' to track unique identifiers.
|
||||||
newtype GGWidget s m monad a = GWidget { unGWidget :: GWInner s m monad a }
|
newtype GGWidget s m monad a = GWidget { unGWidget :: GWInner s m monad a }
|
||||||
deriving (Functor, Applicative, Monad, MonadIO, MonadPeelIO)
|
deriving (Functor, Applicative, Monad, MonadIO, MonadPeelIO)
|
||||||
|
|
||||||
|
instance MonadTrans (GGWidget s m) where
|
||||||
|
lift = GWidget . lift . lift . lift . lift . lift . lift . lift . lift
|
||||||
|
|
||||||
type GWidget s m = GGWidget s m (GHandler s m)
|
type GWidget s m = GGWidget s m (GHandler s m)
|
||||||
type GWInner sub master monad =
|
type GWInner sub master monad =
|
||||||
WriterT (Body (Route master)) (
|
WriterT (Body (Route master)) (
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user