@@ -74,8 +74,7 @@ import Data.Tree (Forest, Tree (..), drawForest)
74
74
import Data.FastWeakBag (FastWeakBag )
75
75
import qualified Data.FastWeakBag as FastWeakBag
76
76
import Data.Reflection
77
- import Data.Some (Some )
78
- import qualified Data.Some as Some
77
+ import Data.Some (Some (Some ))
79
78
import Data.Type.Coercion
80
79
import Data.WeakBag (WeakBag , WeakBagTicket , _weakBag_children )
81
80
import qualified Data.WeakBag as WeakBag
@@ -582,7 +581,7 @@ eventSubscribedFan !subscribed = EventSubscribed
582
581
{ eventSubscribedHeightRef = eventSubscribedHeightRef $ _eventSubscription_subscribed $ fanSubscribedParent subscribed
583
582
, eventSubscribedRetained = toAny subscribed
584
583
#ifdef DEBUG_CYCLES
585
- , eventSubscribedGetParents = return [Some. This $ _eventSubscription_subscribed $ fanSubscribedParent subscribed]
584
+ , eventSubscribedGetParents = return [Some $ _eventSubscription_subscribed $ fanSubscribedParent subscribed]
586
585
, eventSubscribedHasOwnHeightRef = False
587
586
, eventSubscribedWhoCreated = whoCreatedIORef $ fanSubscribedCachedSubscribed subscribed
588
587
#endif
@@ -595,7 +594,7 @@ eventSubscribedSwitch !subscribed = EventSubscribed
595
594
#ifdef DEBUG_CYCLES
596
595
, eventSubscribedGetParents = do
597
596
s <- readIORef $ switchSubscribedCurrentParent subscribed
598
- return [Some. This $ _eventSubscription_subscribed s]
597
+ return [Some $ _eventSubscription_subscribed s]
599
598
, eventSubscribedHasOwnHeightRef = True
600
599
, eventSubscribedWhoCreated = whoCreatedIORef $ switchSubscribedCachedSubscribed subscribed
601
600
#endif
@@ -608,8 +607,8 @@ eventSubscribedCoincidence !subscribed = EventSubscribed
608
607
#ifdef DEBUG_CYCLES
609
608
, eventSubscribedGetParents = do
610
609
innerSubscription <- readIORef $ coincidenceSubscribedInnerParent subscribed
611
- let outerParent = Some. This $ _eventSubscription_subscribed $ coincidenceSubscribedOuterParent subscribed
612
- innerParents = maybeToList $ fmap Some. This innerSubscription
610
+ let outerParent = Some $ _eventSubscription_subscribed $ coincidenceSubscribedOuterParent subscribed
611
+ innerParents = maybeToList $ fmap Some innerSubscription
613
612
return $ outerParent : innerParents
614
613
, eventSubscribedHasOwnHeightRef = True
615
614
, eventSubscribedWhoCreated = whoCreatedIORef $ coincidenceSubscribedCachedSubscribed subscribed
@@ -625,13 +624,13 @@ whoCreatedEventSubscribed = eventSubscribedWhoCreated
625
624
626
625
walkInvalidHeightParents :: EventSubscribed x -> IO [Some (EventSubscribed x )]
627
626
walkInvalidHeightParents s0 = do
628
- subscribers <- flip execStateT mempty $ ($ Some. This s0) $ fix $ \ loop (Some. This s) -> do
627
+ subscribers <- flip execStateT mempty $ ($ Some s0) $ fix $ \ loop (Some s) -> do
629
628
h <- liftIO $ readIORef $ eventSubscribedHeightRef s
630
629
when (h == invalidHeight) $ do
631
630
when (eventSubscribedHasOwnHeightRef s) $ liftIO $ writeIORef (eventSubscribedHeightRef s) $! invalidHeightBeingTraversed
632
- modify (Some. This s : )
631
+ modify (Some s : )
633
632
mapM_ loop =<< liftIO (eventSubscribedGetParents s)
634
- forM_ subscribers $ \ (Some. This s) -> writeIORef (eventSubscribedHeightRef s) $! invalidHeight
633
+ forM_ subscribers $ \ (Some s) -> writeIORef (eventSubscribedHeightRef s) $! invalidHeight
635
634
return subscribers
636
635
#endif
637
636
@@ -659,7 +658,7 @@ behaviorPull !p = Behavior $ do
659
658
val <- liftIO $ readIORef $ pullValue p
660
659
case val of
661
660
Just subscribed -> do
662
- askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some. This (BehaviorSubscribedPull subscribed)) : ))
661
+ askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedPull subscribed)) : ))
663
662
askInvalidator >>= mapM_ (\ wi -> liftIO $ modifyIORef' (pullSubscribedInvalidators subscribed) (wi: ))
664
663
liftIO $ touch $ pullSubscribedOwnInvalidator subscribed
665
664
return $ pullSubscribedValue subscribed
@@ -678,7 +677,7 @@ behaviorPull !p = Behavior $ do
678
677
, pullSubscribedParents = parents
679
678
}
680
679
liftIO $ writeIORef (pullValue p) $ Just subscribed
681
- askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some. This (BehaviorSubscribedPull subscribed)) : ))
680
+ askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedPull subscribed)) : ))
682
681
return a
683
682
684
683
behaviorDyn :: Patch p => Dyn x p -> Behavior x (PatchTarget p )
@@ -689,7 +688,7 @@ readHoldTracked :: Hold x p -> BehaviorM x (PatchTarget p)
689
688
readHoldTracked h = do
690
689
result <- liftIO $ readIORef $ holdValue h
691
690
askInvalidator >>= mapM_ (\ wi -> liftIO $ modifyIORef' (holdInvalidators h) (wi: ))
692
- askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some. This (BehaviorSubscribedHold h)) : ))
691
+ askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedHold h)) : ))
693
692
liftIO $ touch h -- Otherwise, if this gets inlined enough, the hold's parent reference may get collected
694
693
return result
695
694
@@ -862,23 +861,23 @@ instance HasSpiderTimeline x => Defer (Some Clear) (EventM x) where
862
861
863
862
{-# INLINE scheduleClear #-}
864
863
scheduleClear :: Defer (Some Clear ) m => IORef (Maybe a ) -> m ()
865
- scheduleClear r = defer $ Some. This $ Clear r
864
+ scheduleClear r = defer $ Some $ Clear r
866
865
867
866
instance HasSpiderTimeline x => Defer (Some IntClear ) (EventM x ) where
868
867
{-# INLINE getDeferralQueue #-}
869
868
getDeferralQueue = asksEventEnv eventEnvIntClears
870
869
871
870
{-# INLINE scheduleIntClear #-}
872
871
scheduleIntClear :: Defer (Some IntClear ) m => IORef (IntMap a ) -> m ()
873
- scheduleIntClear r = defer $ Some. This $ IntClear r
872
+ scheduleIntClear r = defer $ Some $ IntClear r
874
873
875
874
instance HasSpiderTimeline x => Defer (Some RootClear ) (EventM x ) where
876
875
{-# INLINE getDeferralQueue #-}
877
876
getDeferralQueue = asksEventEnv eventEnvRootClears
878
877
879
878
{-# INLINE scheduleRootClear #-}
880
879
scheduleRootClear :: Defer (Some RootClear ) m => IORef (DMap k Identity ) -> m ()
881
- scheduleRootClear r = defer $ Some. This $ RootClear r
880
+ scheduleRootClear r = defer $ Some $ RootClear r
882
881
883
882
instance HasSpiderTimeline x => Defer (SomeResetCoincidence x ) (EventM x ) where
884
883
{-# INLINE getDeferralQueue #-}
@@ -1853,7 +1852,7 @@ mergeSubscriber m getKey = Subscriber
1853
1852
else liftIO $ do
1854
1853
#ifdef DEBUG_CYCLES
1855
1854
nodesInvolvedInCycle <- walkInvalidHeightParents $ eventSubscribedMerge subscribed
1856
- stacks <- forM nodesInvolvedInCycle $ \ (Some. This es) -> whoCreatedEventSubscribed es
1855
+ stacks <- forM nodesInvolvedInCycle $ \ (Some es) -> whoCreatedEventSubscribed es
1857
1856
let cycleInfo = " :\n " <> drawForest (listsToForest stacks)
1858
1857
#else
1859
1858
let cycleInfo = " "
@@ -2096,11 +2095,11 @@ runFrame a = SpiderHost $ do
2096
2095
return result
2097
2096
result <- runEventM go
2098
2097
toClear <- readIORef $ eventEnvClears env
2099
- forM_ toClear $ \ (Some. This (Clear ref)) -> {-# SCC "clear" #-} writeIORef ref Nothing
2098
+ forM_ toClear $ \ (Some (Clear ref)) -> {-# SCC "clear" #-} writeIORef ref Nothing
2100
2099
toClearInt <- readIORef $ eventEnvIntClears env
2101
- forM_ toClearInt $ \ (Some. This (IntClear ref)) -> {-# SCC "intClear" #-} writeIORef ref $! IntMap. empty
2100
+ forM_ toClearInt $ \ (Some (IntClear ref)) -> {-# SCC "intClear" #-} writeIORef ref $! IntMap. empty
2102
2101
toClearRoot <- readIORef $ eventEnvRootClears env
2103
- forM_ toClearRoot $ \ (Some. This (RootClear ref)) -> {-# SCC "rootClear" #-} writeIORef ref $! DMap. empty
2102
+ forM_ toClearRoot $ \ (Some (RootClear ref)) -> {-# SCC "rootClear" #-} writeIORef ref $! DMap. empty
2104
2103
toAssign <- readIORef $ eventEnvAssignments env
2105
2104
toReconnectRef <- newIORef []
2106
2105
coincidenceInfos <- readIORef $ eventEnvResetCoincidences env
@@ -2460,7 +2459,7 @@ unsafeNewSpiderTimelineEnv = do
2460
2459
2461
2460
-- | Create a new SpiderTimelineEnv
2462
2461
newSpiderTimeline :: IO (Some SpiderTimelineEnv )
2463
- newSpiderTimeline = withSpiderTimeline (pure . Some. This )
2462
+ newSpiderTimeline = withSpiderTimeline (pure . Some )
2464
2463
2465
2464
data LocalSpiderTimeline x s
2466
2465
0 commit comments