on develop help sign in
Add instances for strict StateT
commitff5cbb4ce9c787ae1e824f4738042471b5d84cba authorOliver Batchelor <saulzar@gmail.com> dateMon 31 Aug 2015, 15:09 (11 years ago) parentf565bee
1 file changed+16
src/Reflex/Host/Class.hs+16
src/Reflex/Host/Class.hs+16
@@ -12,6 +12,7 @@ import Control.Monad.Trans.Cont (ContT())
1212import Control.Monad.Trans.Except (ExceptT())
1313import Control.Monad.Trans.RWS (RWST())
1414import Control.Monad.Trans.State (StateT())
15+import qualified Control.Monad.Trans.State.Strict as Strict
1516import Data.Dependent.Sum (DSum)
1617import Data.Monoid
1718import Data.GADT.Compare
@@ -152,6 +153,21 @@ instance MonadReflexHost t m => MonadReflexHost t (StateT s m) where
152153 type ReadPhase (StateT s m) = ReadPhase m
153154 fireEventsAndRead dm a = lift $ fireEventsAndRead dm a
154155 runHostFrame = lift . runHostFrame
156+
157+
158+instance MonadReflexCreateTrigger t m => MonadReflexCreateTrigger t (Strict.StateT s m) where
159+ newEventWithTrigger = lift . newEventWithTrigger
160+ newFanEventWithTrigger initializer = lift $ newFanEventWithTrigger initializer
161+
162+instance MonadSubscribeEvent t m => MonadSubscribeEvent t (Strict.StateT r m) where
163+ subscribeEvent = lift . subscribeEvent
164+
165+instance MonadReflexHost t m => MonadReflexHost t (Strict.StateT s m) where
166+ type ReadPhase (Strict.StateT s m) = ReadPhase m
167+ fireEventsAndRead dm a = lift $ fireEventsAndRead dm a
168+ runHostFrame = lift . runHostFrame
169+
170+
155171
156172instance MonadReflexCreateTrigger t m => MonadReflexCreateTrigger t (ContT r m) where
157173 newEventWithTrigger = lift . newEventWithTrigger