on develop help sign in
Merge pull request #295 from reflex-frp/aa-ghc8
3383d86Ali Abrar
chrome-test-utils/src/Test/Util/ChromeFlags.hs+1
@@ -1,6 +1,7 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2module Test.Util.ChromeFlags where
2module Test.Util.ChromeFlags where
3
3
4+import Data.Semigroup
4import Data.Text
5import Data.Text
5import System.IO.Temp
6import System.IO.Temp
6
7
reflex-dom-core/reflex-dom-core.cabal+1−1
@@ -191,7 +191,7 @@ test-suite hydration
191 ghc-prof-options: -fprof-auto -optP-DPROFILING
191 ghc-prof-options: -fprof-auto -optP-DPROFILING
192 main-is: hydration.hs
192 main-is: hydration.hs
193 type: exitcode-stdio-1.0
193 type: exitcode-stdio-1.0
194− if !os(linux) || !arch(x86_64)
194+ if !os(linux) || !arch(x86_64) || flag(profile-reflex)
195 buildable: False
195 buildable: False
196
196
197-- broken test on base 4.11 & ghc 8.4.3
197-- broken test on base 4.11 & ghc 8.4.3
reflex-dom-core/src/Reflex/Dom/Builder/Class.hs+1−1
@@ -192,7 +192,7 @@ data CommentNodeConfig t
192 }
192 }
193
193
194#ifndef USE_TEMPLATE_HASKELL
194#ifndef USE_TEMPLATE_HASKELL
195−commentNodeConfig_initialContents :: Lens' (CommentNodeConfig t) Comment
195+commentNodeConfig_initialContents :: Lens' (CommentNodeConfig t) Text
196commentNodeConfig_initialContents f (CommentNodeConfig a b) = (\a' -> CommentNodeConfig a' b) <$> f a
196commentNodeConfig_initialContents f (CommentNodeConfig a b) = (\a' -> CommentNodeConfig a' b) <$> f a
197{-# INLINE commentNodeConfig_initialContents #-}
197{-# INLINE commentNodeConfig_initialContents #-}
198#endif
198#endif
reflex-dom-core/src/Reflex/Dom/Builder/Immediate.hs+63−65
@@ -86,9 +86,6 @@ module Reflex.Dom.Builder.Immediate
86 , ghcjsEventSpec_filters
86 , ghcjsEventSpec_filters
87 , ghcjsEventSpec_handler
87 , ghcjsEventSpec_handler
88 , GhcjsEventHandler (..)
88 , GhcjsEventHandler (..)
89−#ifndef USE_TEMPLATE_HASKELL
90− , phantom2
91−#endif
92 , drawChildUpdate
89 , drawChildUpdate
93 , ChildReadyState (..)
90 , ChildReadyState (..)
94 , mkHasFocus
91 , mkHasFocus
@@ -138,6 +135,7 @@ import Data.Functor.Product
138import Data.IORef
135import Data.IORef
139import Data.IntMap.Strict (IntMap)
136import Data.IntMap.Strict (IntMap)
140import Data.Maybe
137import Data.Maybe
138+import Data.Monoid ((<>))
141import Data.Some (Some(..))
139import Data.Some (Some(..))
142import Data.Text (Text)
140import Data.Text (Text)
143import Foreign.JavaScript.Internal.Utils
141import Foreign.JavaScript.Internal.Utils
@@ -162,6 +160,9 @@ import Reflex.PerformEvent.Base (PerformEventT)
162import Reflex.PerformEvent.Class
160import Reflex.PerformEvent.Class
163import Reflex.PostBuild.Base (PostBuildT)
161import Reflex.PostBuild.Base (PostBuildT)
164import Reflex.PostBuild.Class
162import Reflex.PostBuild.Class
163+#ifdef PROFILE_REFLEX
164+import Reflex.Profiled
165+#endif
165import Reflex.Requester.Base
166import Reflex.Requester.Base
166import Reflex.Requester.Class
167import Reflex.Requester.Class
167import Reflex.Spider (Spider, SpiderHost, Global)
168import Reflex.Spider (Spider, SpiderHost, Global)
@@ -198,6 +199,7 @@ import qualified Reflex.TriggerEvent.Base as TriggerEventT (askEvents)
198
199
199#ifndef USE_TEMPLATE_HASKELL
200#ifndef USE_TEMPLATE_HASKELL
200import Data.Functor.Contravariant (phantom)
201import Data.Functor.Contravariant (phantom)
202+import Control.Lens (Lens', Getter)
201#endif
203#endif
202
204
203#ifndef ghcjs_HOST_OS
205#ifndef ghcjs_HOST_OS
@@ -527,17 +529,17 @@ wrap events e cfg = do
527 return eventTriggerRefs
529 return eventTriggerRefs
528
530
529{-# SPECIALIZE wrap
531{-# SPECIALIZE wrap
530− :: Chan [DSum (EventTriggerRef Spider) TriggerInvocation]
532+ :: Chan [DSum (EventTriggerRef DomTimeline) TriggerInvocation]
531 -> DOM.Element
533 -> DOM.Element
532− -> RawElementConfig er Spider HydrationDomSpace
534+ -> RawElementConfig er DomTimeline HydrationDomSpace
533− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM (DMap EventName (EventFilterTriggerRef Spider er))
535+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM (DMap EventName (EventFilterTriggerRef DomTimeline er))
534 #-}
536 #-}
535
537
536{-# SPECIALIZE wrap
538{-# SPECIALIZE wrap
537− :: Chan [DSum (EventTriggerRef Spider) TriggerInvocation]
539+ :: Chan [DSum (EventTriggerRef DomTimeline) TriggerInvocation]
538 -> DOM.Element
540 -> DOM.Element
539− -> RawElementConfig er Spider GhcjsDomSpace
541+ -> RawElementConfig er DomTimeline GhcjsDomSpace
540− -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM (DMap EventName (EventFilterTriggerRef Spider er))
542+ -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM (DMap EventName (EventFilterTriggerRef DomTimeline er))
541 #-}
543 #-}
542
544
543{-# INLINE triggerBody #-}
545{-# INLINE triggerBody #-}
@@ -573,23 +575,23 @@ triggerBody ctx cfg events eventTriggerRefs e (WrapArg en) t = case DMap.lookup
573
575
574{-# SPECIALIZE triggerBody
576{-# SPECIALIZE triggerBody
575 :: DOM.JSContextRef
577 :: DOM.JSContextRef
576− -> RawElementConfig er Spider HydrationDomSpace
578+ -> RawElementConfig er DomTimeline HydrationDomSpace
577− -> Chan [DSum (EventTriggerRef Spider) TriggerInvocation]
579+ -> Chan [DSum (EventTriggerRef DomTimeline) TriggerInvocation]
578− -> DMap EventName (EventFilterTriggerRef Spider er)
580+ -> DMap EventName (EventFilterTriggerRef DomTimeline er)
579 -> DOM.Element
581 -> DOM.Element
580 -> WrapArg er EventName x
582 -> WrapArg er EventName x
581− -> EventTrigger Spider x
583+ -> EventTrigger DomTimeline x
582 -> IO (IO ())
584 -> IO (IO ())
583 #-}
585 #-}
584
586
585{-# SPECIALIZE triggerBody
587{-# SPECIALIZE triggerBody
586 :: DOM.JSContextRef
588 :: DOM.JSContextRef
587− -> RawElementConfig er Spider GhcjsDomSpace
589+ -> RawElementConfig er DomTimeline GhcjsDomSpace
588− -> Chan [DSum (EventTriggerRef Spider) TriggerInvocation]
590+ -> Chan [DSum (EventTriggerRef DomTimeline) TriggerInvocation]
589− -> DMap EventName (EventFilterTriggerRef Spider er)
591+ -> DMap EventName (EventFilterTriggerRef DomTimeline er)
590 -> DOM.Element
592 -> DOM.Element
591 -> WrapArg er EventName x
593 -> WrapArg er EventName x
592− -> EventTrigger Spider x
594+ -> EventTrigger DomTimeline x
593 -> IO (IO ())
595 -> IO (IO ())
594 #-}
596 #-}
595
597
@@ -638,15 +640,11 @@ data GhcjsEventSpec er = GhcjsEventSpec
638newtype GhcjsEventHandler er = GhcjsEventHandler { unGhcjsEventHandler :: forall en. (EventName en, GhcjsDomEvent en) -> JSM (Maybe (er en)) }
640newtype GhcjsEventHandler er = GhcjsEventHandler { unGhcjsEventHandler :: forall en. (EventName en, GhcjsDomEvent en) -> JSM (Maybe (er en)) }
639
641
640#ifndef USE_TEMPLATE_HASKELL
642#ifndef USE_TEMPLATE_HASKELL
641−phantom2 :: (Functor f, Contravariant f) => f a -> f b
642−phantom2 = phantom
643−{-# INLINE phantom2 #-}
644−
645ghcjsEventSpec_filters :: forall er . Lens' (GhcjsEventSpec er) (DMap EventName (GhcjsEventFilter er))
643ghcjsEventSpec_filters :: forall er . Lens' (GhcjsEventSpec er) (DMap EventName (GhcjsEventFilter er))
646ghcjsEventSpec_filters f (GhcjsEventSpec a b) = (\a' -> GhcjsEventSpec a' b) <$> f a
644ghcjsEventSpec_filters f (GhcjsEventSpec a b) = (\a' -> GhcjsEventSpec a' b) <$> f a
647{-# INLINE ghcjsEventSpec_filters #-}
645{-# INLINE ghcjsEventSpec_filters #-}
648ghcjsEventSpec_handler :: forall er en . Getter (GhcjsEventSpec er) ((EventName en, GhcjsDomEvent en) -> JSM (Maybe (er en)))
646ghcjsEventSpec_handler :: forall er en . Getter (GhcjsEventSpec er) ((EventName en, GhcjsDomEvent en) -> JSM (Maybe (er en)))
649−ghcjsEventSpec_handler f (GhcjsEventSpec _ (GhcjsEventHandler b)) = phantom2 (f b)
647+ghcjsEventSpec_handler f (GhcjsEventSpec _ (GhcjsEventHandler b)) = phantom (f b)
650{-# INLINE ghcjsEventSpec_handler #-}
648{-# INLINE ghcjsEventSpec_handler #-}
651#endif
649#endif
652
650
@@ -694,16 +692,16 @@ elementImmediate elementTag cfg child = do
694
692
695{-# SPECIALIZE elementImmediate
693{-# SPECIALIZE elementImmediate
696 :: Text
694 :: Text
697− -> ElementConfig er Spider HydrationDomSpace
695+ -> ElementConfig er DomTimeline HydrationDomSpace
698− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM a
696+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM a
699− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM (Element er GhcjsDomSpace Spider, a)
697+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM (Element er GhcjsDomSpace DomTimeline, a)
700 #-}
698 #-}
701
699
702{-# SPECIALIZE elementImmediate
700{-# SPECIALIZE elementImmediate
703 :: Text
701 :: Text
704− -> ElementConfig er Spider GhcjsDomSpace
702+ -> ElementConfig er DomTimeline GhcjsDomSpace
705− -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM a
703+ -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM a
706− -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM (Element er GhcjsDomSpace Spider, a)
704+ -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM (Element er GhcjsDomSpace DomTimeline, a)
707 #-}
705 #-}
708
706
709-- For specialisation
707-- For specialisation
@@ -740,9 +738,9 @@ elementInternal elementTag cfg child = getHydrationMode >>= \case
740
738
741{-# SPECIALIZE elementInternal
739{-# SPECIALIZE elementInternal
742 :: Text
740 :: Text
743− -> ElementConfig er Spider HydrationDomSpace
741+ -> ElementConfig er DomTimeline HydrationDomSpace
744− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM a
742+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM a
745− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM (Element er HydrationDomSpace Spider, a)
743+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM (Element er HydrationDomSpace DomTimeline, a)
746 #-}
744 #-}
747
745
748{-# INLINE hydrateElement #-}
746{-# INLINE hydrateElement #-}
@@ -830,9 +828,9 @@ hydrateElement elementTag cfg child = do
830
828
831{-# SPECIALIZE hydrateElement
829{-# SPECIALIZE hydrateElement
832 :: Text
830 :: Text
833− -> ElementConfig er Spider HydrationDomSpace
831+ -> ElementConfig er DomTimeline HydrationDomSpace
834− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM a
832+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM a
835− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM ((Element er HydrationDomSpace Spider, a), IORef DOM.Element)
833+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM ((Element er HydrationDomSpace DomTimeline, a), IORef DOM.Element)
836 #-}
834 #-}
837
835
838{-# INLINE inputElementImmediate #-}
836{-# INLINE inputElementImmediate #-}
@@ -1699,17 +1697,17 @@ traverseIntMapWithKeyWithAdjust' = do
1699 liftIO $ writeIORef placeholders $! fromMaybe phs $ apply filtered phs
1697 liftIO $ writeIORef placeholders $! fromMaybe phs $ apply filtered phs
1700
1698
1701{-# SPECIALIZE traverseIntMapWithKeyWithAdjust'
1699{-# SPECIALIZE traverseIntMapWithKeyWithAdjust'
1702− :: (IntMap.Key -> v -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM v')
1700+ :: (IntMap.Key -> v -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM v')
1703 -> IntMap v
1701 -> IntMap v
1704− -> Event Spider (PatchIntMap v)
1702+ -> Event DomTimeline (PatchIntMap v)
1705− -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM (IntMap v', Event Spider (PatchIntMap v'))
1703+ -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM (IntMap v', Event DomTimeline (PatchIntMap v'))
1706 #-}
1704 #-}
1707
1705
1708{-# SPECIALIZE traverseIntMapWithKeyWithAdjust'
1706{-# SPECIALIZE traverseIntMapWithKeyWithAdjust'
1709− :: (IntMap.Key -> v -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM v')
1707+ :: (IntMap.Key -> v -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM v')
1710 -> IntMap v
1708 -> IntMap v
1711− -> Event Spider (PatchIntMap v)
1709+ -> Event DomTimeline (PatchIntMap v)
1712− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM (IntMap v', Event Spider (PatchIntMap v'))
1710+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM (IntMap v', Event DomTimeline (PatchIntMap v'))
1713 #-}
1711 #-}
1714
1712
1715data ChildReadyState a
1713data ChildReadyState a
@@ -1944,39 +1942,39 @@ hoistTraverseIntMapWithKeyWithAdjust base updateChildUnreadiness applyDomUpdate_
1944 return (result0, result')
1942 return (result0, result')
1945
1943
1946{-# SPECIALIZE hoistTraverseIntMapWithKeyWithAdjust
1944{-# SPECIALIZE hoistTraverseIntMapWithKeyWithAdjust
1947− :: ((IntMap.Key -> v -> DomRenderHookT Spider HydrationM (TraverseChild Spider HydrationM Int v'))
1945+ :: ((IntMap.Key -> v -> DomRenderHookT DomTimeline HydrationM (TraverseChild DomTimeline HydrationM Int v'))
1948 -> IntMap v
1946 -> IntMap v
1949− -> Event Spider (PatchIntMap v)
1947+ -> Event DomTimeline (PatchIntMap v)
1950− -> DomRenderHookT Spider HydrationM (IntMap (TraverseChild Spider HydrationM Int v'), Event Spider (PatchIntMap (TraverseChild Spider HydrationM Int v'))))
1948+ -> DomRenderHookT DomTimeline HydrationM (IntMap (TraverseChild DomTimeline HydrationM Int v'), Event DomTimeline (PatchIntMap (TraverseChild DomTimeline HydrationM Int v'))))
1951− -> (PatchIntMap (TraverseChild Spider HydrationM Int v')
1949+ -> (PatchIntMap (TraverseChild DomTimeline HydrationM Int v')
1952 -> IntMap (IORef (ChildReadyState Int))
1950 -> IntMap (IORef (ChildReadyState Int))
1953 -> IO (IntMap (IORef (ChildReadyState Int))))
1951 -> IO (IntMap (IORef (ChildReadyState Int))))
1954 -> (IORef (IntMap DOM.Text)
1952 -> (IORef (IntMap DOM.Text)
1955 -> DOM.Text
1953 -> DOM.Text
1956− -> PatchIntMap (TraverseChild Spider HydrationM Int v')
1954+ -> PatchIntMap (TraverseChild DomTimeline HydrationM Int v')
1957 -> JSM ())
1955 -> JSM ())
1958− -> (IntMap.Key -> v -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM v')
1956+ -> (IntMap.Key -> v -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM v')
1959 -> IntMap v
1957 -> IntMap v
1960− -> Event Spider (PatchIntMap v)
1958+ -> Event DomTimeline (PatchIntMap v)
1961− -> HydrationDomBuilderT HydrationDomSpace Spider HydrationM (IntMap v', Event Spider (PatchIntMap v'))
1959+ -> HydrationDomBuilderT HydrationDomSpace DomTimeline HydrationM (IntMap v', Event DomTimeline (PatchIntMap v'))
1962 #-}
1960 #-}
1963
1961
1964{-# SPECIALIZE hoistTraverseIntMapWithKeyWithAdjust
1962{-# SPECIALIZE hoistTraverseIntMapWithKeyWithAdjust
1965− :: ((IntMap.Key -> v -> DomRenderHookT Spider HydrationM (TraverseChild Spider HydrationM Int v'))
1963+ :: ((IntMap.Key -> v -> DomRenderHookT DomTimeline HydrationM (TraverseChild DomTimeline HydrationM Int v'))
1966 -> IntMap v
1964 -> IntMap v
1967− -> Event Spider (PatchIntMap v)
1965+ -> Event DomTimeline (PatchIntMap v)
1968− -> DomRenderHookT Spider HydrationM (IntMap (TraverseChild Spider HydrationM Int v'), Event Spider (PatchIntMap (TraverseChild Spider HydrationM Int v'))))
1966+ -> DomRenderHookT DomTimeline HydrationM (IntMap (TraverseChild DomTimeline HydrationM Int v'), Event DomTimeline (PatchIntMap (TraverseChild DomTimeline HydrationM Int v'))))
1969− -> (PatchIntMap (TraverseChild Spider HydrationM Int v')
1967+ -> (PatchIntMap (TraverseChild DomTimeline HydrationM Int v')
1970 -> IntMap (IORef (ChildReadyState Int))
1968 -> IntMap (IORef (ChildReadyState Int))
1971 -> IO (IntMap (IORef (ChildReadyState Int))))
1969 -> IO (IntMap (IORef (ChildReadyState Int))))
1972 -> (IORef (IntMap DOM.Text)
1970 -> (IORef (IntMap DOM.Text)
1973 -> DOM.Text
1971 -> DOM.Text
1974− -> PatchIntMap (TraverseChild Spider HydrationM Int v')
1972+ -> PatchIntMap (TraverseChild DomTimeline HydrationM Int v')
1975 -> JSM ())
1973 -> JSM ())
1976− -> (IntMap.Key -> v -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM v')
1974+ -> (IntMap.Key -> v -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM v')
1977 -> IntMap v
1975 -> IntMap v
1978− -> Event Spider (PatchIntMap v)
1976+ -> Event DomTimeline (PatchIntMap v)
1979− -> HydrationDomBuilderT GhcjsDomSpace Spider HydrationM (IntMap v', Event Spider (PatchIntMap v'))
1977+ -> HydrationDomBuilderT GhcjsDomSpace DomTimeline HydrationM (IntMap v', Event DomTimeline (PatchIntMap v'))
1980 #-}
1978 #-}
1981
1979
1982data TraverseChildImmediate k = TraverseChildImmediate
1980data TraverseChildImmediate k = TraverseChildImmediate
@@ -2046,17 +2044,17 @@ drawChildUpdate initialEnv markReady child = do
2046 }
2044 }
2047
2045
2048{-# SPECIALIZE drawChildUpdate
2046{-# SPECIALIZE drawChildUpdate
2049− :: HydrationDomBuilderEnv Spider HydrationM
2047+ :: HydrationDomBuilderEnv DomTimeline HydrationM
2050 -> (IORef (ChildReadyState Int) -> JSM ())
2048 -> (IORef (ChildReadyState Int) -> JSM ())
2051− -> HydrationDomBuilderT s Spider HydrationM (Identity a)
2049+ -> HydrationDomBuilderT s DomTimeline HydrationM (Identity a)
2052− -> DomRenderHookT Spider HydrationM (Compose (TraverseChild Spider HydrationM Int) Identity a)
2050+ -> DomRenderHookT DomTimeline HydrationM (Compose (TraverseChild DomTimeline HydrationM Int) Identity a)
2053 #-}
2051 #-}
2054
2052
2055{-# SPECIALIZE drawChildUpdate
2053{-# SPECIALIZE drawChildUpdate
2056− :: HydrationDomBuilderEnv Spider HydrationM
2054+ :: HydrationDomBuilderEnv DomTimeline HydrationM
2057 -> (IORef (ChildReadyState (Some k)) -> JSM ())
2055 -> (IORef (ChildReadyState (Some k)) -> JSM ())
2058− -> HydrationDomBuilderT s Spider HydrationM (f a)
2056+ -> HydrationDomBuilderT s DomTimeline HydrationM (f a)
2059− -> DomRenderHookT Spider HydrationM (Compose (TraverseChild Spider HydrationM (Some k)) f a)
2057+ -> DomRenderHookT DomTimeline HydrationM (Compose (TraverseChild DomTimeline HydrationM (Some k)) f a)
2060 #-}
2058 #-}
2061
2059
2062{-# INLINABLE drawChildUpdateInt #-}
2060{-# INLINABLE drawChildUpdateInt #-}
@@ -2068,10 +2066,10 @@ drawChildUpdateInt :: (MonadIO m, MonadJSM m, Reflex t)
2068drawChildUpdateInt env mark m = fmap runIdentity . getCompose <$> drawChildUpdate env mark (Identity <$> m)
2066drawChildUpdateInt env mark m = fmap runIdentity . getCompose <$> drawChildUpdate env mark (Identity <$> m)
2069
2067
2070{-# SPECIALIZE drawChildUpdateInt
2068{-# SPECIALIZE drawChildUpdateInt
2071− :: HydrationDomBuilderEnv Spider HydrationM
2069+ :: HydrationDomBuilderEnv DomTimeline HydrationM
2072 -> (IORef (ChildReadyState k) -> JSM ())
2070 -> (IORef (ChildReadyState k) -> JSM ())
2073− -> HydrationDomBuilderT s Spider HydrationM v
2071+ -> HydrationDomBuilderT s DomTimeline HydrationM v
2074− -> DomRenderHookT Spider HydrationM (TraverseChild Spider HydrationM k v)
2072+ -> DomRenderHookT DomTimeline HydrationM (TraverseChild DomTimeline HydrationM k v)
2075 #-}
2073 #-}
2076
2074
2077{-# INLINE mkHasFocus #-}
2075{-# INLINE mkHasFocus #-}
reflex-dom-core/src/Reflex/Dom/Builder/Static.hs+1
@@ -37,6 +37,7 @@ import Data.IntMap (IntMap)
37import qualified Data.IntMap as IntMap
37import qualified Data.IntMap as IntMap
38import qualified Data.Map as Map
38import qualified Data.Map as Map
39import Data.Map.Misc (applyMap)
39import Data.Map.Misc (applyMap)
40+import Data.Monoid ((<>))
40import qualified Data.Set as Set
41import qualified Data.Set as Set
41import Data.Text (Text)
42import Data.Text (Text)
42import qualified Data.Text as T
43import qualified Data.Text as T
reflex-dom-core/src/Reflex/Dom/Main.hs+3
@@ -27,6 +27,9 @@ import Reflex.PostBuild.Base
27import Reflex.Spider (Global, Spider, SpiderHost, runSpiderHost)
27import Reflex.Spider (Global, Spider, SpiderHost, runSpiderHost)
28import Reflex.TriggerEvent.Base
28import Reflex.TriggerEvent.Base
29import Reflex.TriggerEvent.Class
29import Reflex.TriggerEvent.Class
30+#ifdef PROFILE_REFLEX
31+import Reflex.Profiled
32+#endif
30
33
31import Control.Concurrent
34import Control.Concurrent
32import Control.Lens
35import Control.Lens
reflex-dom-core/src/Reflex/Dom/Prerender.hs+1
@@ -25,6 +25,7 @@ import Control.Monad.Primitive (PrimMonad)
25import Control.Monad.Reader
25import Control.Monad.Reader
26import Control.Monad.Ref (MonadRef(..))
26import Control.Monad.Ref (MonadRef(..))
27import Data.IORef (IORef, newIORef)
27import Data.IORef (IORef, newIORef)
28+import Data.Semigroup (Semigroup)
28import Data.Text (Text)
29import Data.Text (Text)
29import Foreign.JavaScript.TH
30import Foreign.JavaScript.TH
30import GHCJS.DOM.Types (MonadJSM)
31import GHCJS.DOM.Types (MonadJSM)
reflex-dom-core/test/hydration.hs+8−3
@@ -35,6 +35,7 @@ import Data.GADT.Compare.TH
35import Data.GADT.Show.TH
35import Data.GADT.Show.TH
36import Data.IORef (IORef)
36import Data.IORef (IORef)
37import Data.Maybe
37import Data.Maybe
38+import Data.Monoid
38import Data.Proxy
39import Data.Proxy
39import Data.Text (Text)
40import Data.Text (Text)
40import Language.Javascript.JSaddle (syncPoint, liftJSM)
41import Language.Javascript.JSaddle (syncPoint, liftJSM)
@@ -54,9 +55,9 @@ import System.Process
54import qualified Test.HUnit as HUnit (assertEqual, assertFailure)
55import qualified Test.HUnit as HUnit (assertEqual, assertFailure)
55import qualified Test.Hspec as H
56import qualified Test.Hspec as H
56import Test.Hspec (xit)
57import Test.Hspec (xit)
57−import Test.Hspec.WebDriver hiding (runWD, click, uploadFile)
58+import Test.Hspec.WebDriver hiding (runWD, click, uploadFile, WD)
58import qualified Test.Hspec.WebDriver as WD
59import qualified Test.Hspec.WebDriver as WD
59−import Test.WebDriver (WD)
60+import Test.WebDriver (WD(..))
60
61
61import qualified Data.ByteString.Lazy as LBS
62import qualified Data.ByteString.Lazy as LBS
62import qualified Data.Dependent.Map as DMap
63import qualified Data.Dependent.Map as DMap
@@ -77,7 +78,11 @@ seleniumPort = 8000
77jsaddlePort = 8001
78jsaddlePort = 8001
78
79
79-- TODO Remove orphan
80-- TODO Remove orphan
80−deriving instance MonadRef WD
81+instance MonadRef WD where
82+ type Ref WD = Ref IO
83+ newRef = WD . newRef
84+ readRef = WD . readRef
85+ writeRef r = WD . writeRef r
81
86
82assertEqual :: (MonadIO m, Eq a, Show a) => String -> a -> a -> m ()
87assertEqual :: (MonadIO m, Eq a, Show a) => String -> a -> a -> m ()
83assertEqual a b = liftIO . HUnit.assertEqual a b
88assertEqual a b = liftIO . HUnit.assertEqual a b