on develop help sign in
Merge pull request #64 from esoeylemez/higher-rank-timeline
2e9a8deRyan Trinkle
src/Reflex/Spider.hs+1
@@ -8,6 +8,7 @@ module Reflex.Spider
8 , runSpiderHost
8 , runSpiderHost
9 , runSpiderHostForTimeline
9 , runSpiderHostForTimeline
10 , newSpiderTimeline
10 , newSpiderTimeline
11+ , withSpiderTimeline
11 , askSpiderTimeline
12 , askSpiderTimeline
12 -- * Deprecated
13 -- * Deprecated
13 , SpiderEnv
14 , SpiderEnv
src/Reflex/Spider/Internal.hs+5−1
@@ -2021,7 +2021,11 @@ unsafeNewSpiderTimeline = do
2021
2021
2022-- | Create a new SpiderTimeline
2022-- | Create a new SpiderTimeline
2023newSpiderTimeline :: IO (Some SpiderTimeline)
2023newSpiderTimeline :: IO (Some SpiderTimeline)
2024−newSpiderTimeline = Some.This <$> unsafeNewSpiderTimeline
2024+newSpiderTimeline = withSpiderTimeline (pure . Some.This)
2025+
2026+-- | Pass a new timeline to the given function.
2027+withSpiderTimeline :: (forall x. SpiderTimeline x -> IO r) -> IO r
2028+withSpiderTimeline k = unsafeNewSpiderTimeline >>= k
2025
2029
2026newtype SpiderPullM x a = SpiderPullM (BehaviorM a) deriving (Functor, Applicative, Monad, MonadIO, MonadFix)
2030newtype SpiderPullM x a = SpiderPullM (BehaviorM a) deriving (Functor, Applicative, Monad, MonadIO, MonadFix)
2027
2031