@@ -20,6 +20,7 @@ import Blaze.ByteString.Builder.Html.Utf8
20import Control.Lens hiding (element)
20import Control.Lens hiding (element)
21import Control.Monad.Exception
21import Control.Monad.Exception
22import Control.Monad.Identity
22import Control.Monad.Identity
23+import Control.Monad.Primitive
23import Control.Monad.Ref
24import Control.Monad.Ref
24import Control.Monad.State.Strict
25import Control.Monad.State.Strict
25import Control.Monad.Trans.Control
26import Control.Monad.Trans.Control
@@ -56,6 +57,10 @@ newtype StaticDomBuilderT t m a = StaticDomBuilderT
57 deriving (Functor, Applicative, Monad, MonadFix, MonadIO, MonadException, MonadAsyncException)
58 deriving (Functor, Applicative, Monad, MonadFix, MonadIO, MonadException, MonadAsyncException)
60+instance PrimMonad m => PrimMonad (StaticDomBuilderT x m) where
61+ type PrimState (StaticDomBuilderT x m) = PrimState m
62+ primitive = lift . primitive
59instance MonadTransControl (StaticDomBuilderT t) where
64instance MonadTransControl (StaticDomBuilderT t) where
60 type StT (StaticDomBuilderT t) a = StT (StateT [Behavior t ByteString]) a
65 type StT (StaticDomBuilderT t) a = StT (StateT [Behavior t ByteString]) a
61 liftWith = defaultLiftWith StaticDomBuilderT unStaticDomBuilderT
66 liftWith = defaultLiftWith StaticDomBuilderT unStaticDomBuilderT