on develop help sign in
Add some more instances to DynamicWriter
commitf3f2f26779f5e10b7d41e71617c5bcefaa30cd45 authorRyan Trinkle <ryan.trinkle@gmail.com> dateFri 8 Apr 2016, 03:49 (11 years ago) parenta238334
1 file changed+14
src/Reflex/Dom/DynamicWriter.hs+14
src/Reflex/Dom/DynamicWriter.hs+14
@@ -7,6 +7,7 @@ import Reflex.Dom.Class
77
88import Control.Monad.IO.Class
99import Control.Monad.State.Strict
10+import Control.Monad.Reader
1011import Control.Monad.Ref
1112import Control.Monad.Exception
1213import qualified Data.Map as Map
@@ -72,3 +73,16 @@ class Monad m => MonadDynamicWriter t w m | m -> t w where
7273
7374instance Monad m => MonadDynamicWriter t w (DynamicWriterT t w m) where
7475 tellDyn w = DynamicWriterT $ modify (w:)
76+
77+instance MonadDynamicWriter t w m => MonadDynamicWriter t w (ReaderT r m) where
78+ tellDyn = lift . tellDyn
79+
80+deriving instance MonadReader r m => MonadReader r (DynamicWriterT t w m)
81+
82+instance MonadState s m => MonadState s (DynamicWriterT t w m) where
83+ get = lift get
84+ put = lift . put
85+
86+instance HasJS x m => HasJS x (DynamicWriterT t w m) where
87+ type JSM (DynamicWriterT t w m) = JSM m
88+ liftJS = lift . liftJS