on develop help sign in
Merge pull request #64 from esoeylemez/higher-rank-timeline

Add withSpiderTimeline.

commit2e9a8de650857424fb93b372c6d00fda5e99d380 authorRyan Trinkle <ryan.trinkle@gmail.com> dateThu 18 Aug 2016, 17:57 (10 years ago) parent1511d28a9485d8
2 files changed+6−1
src/Reflex/Spider.hs+1 src/Reflex/Spider/Internal.hs+5−1
src/Reflex/Spider.hs+1
@@ -8,6 +8,7 @@ module Reflex.Spider
88 , runSpiderHost
99 , runSpiderHostForTimeline
1010 , newSpiderTimeline
11+ , withSpiderTimeline
1112 , askSpiderTimeline
1213 -- * Deprecated
1314 , SpiderEnv
src/Reflex/Spider/Internal.hs+5−1
@@ -2021,7 +2021,11 @@ unsafeNewSpiderTimeline = do
20212021
20222022-- | Create a new SpiderTimeline
20232023newSpiderTimeline :: 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
20252029
20262030newtype SpiderPullM x a = SpiderPullM (BehaviorM a) deriving (Functor, Applicative, Monad, MonadIO, MonadFix)
20272031