@@ -78,8 +78,7 @@ import Data.Tree (Forest, Tree (..), drawForest)
78
78
import Data.FastWeakBag (FastWeakBag )
79
79
import qualified Data.FastWeakBag as FastWeakBag
80
80
import Data.Reflection
81
- import Data.Some (Some )
82
- import qualified Data.Some as Some
81
+ import Data.Some (Some (Some ))
83
82
import Data.Type.Coercion
84
83
import Data.Profunctor.Unsafe ((#.) , (.#) )
85
84
import Data.WeakBag (WeakBag , WeakBagTicket , _weakBag_children )
@@ -587,7 +586,7 @@ eventSubscribedFan !subscribed = EventSubscribed
587
586
{ eventSubscribedHeightRef = eventSubscribedHeightRef $ _eventSubscription_subscribed $ fanSubscribedParent subscribed
588
587
, eventSubscribedRetained = toAny subscribed
589
588
#ifdef DEBUG_CYCLES
590
- , eventSubscribedGetParents = return [Some. This $ _eventSubscription_subscribed $ fanSubscribedParent subscribed]
589
+ , eventSubscribedGetParents = return [Some $ _eventSubscription_subscribed $ fanSubscribedParent subscribed]
591
590
, eventSubscribedHasOwnHeightRef = False
592
591
, eventSubscribedWhoCreated = whoCreatedIORef $ fanSubscribedCachedSubscribed subscribed
593
592
#endif
@@ -600,7 +599,7 @@ eventSubscribedSwitch !subscribed = EventSubscribed
600
599
#ifdef DEBUG_CYCLES
601
600
, eventSubscribedGetParents = do
602
601
s <- readIORef $ switchSubscribedCurrentParent subscribed
603
- return [Some. This $ _eventSubscription_subscribed s]
602
+ return [Some $ _eventSubscription_subscribed s]
604
603
, eventSubscribedHasOwnHeightRef = True
605
604
, eventSubscribedWhoCreated = whoCreatedIORef $ switchSubscribedCachedSubscribed subscribed
606
605
#endif
@@ -613,8 +612,8 @@ eventSubscribedCoincidence !subscribed = EventSubscribed
613
612
#ifdef DEBUG_CYCLES
614
613
, eventSubscribedGetParents = do
615
614
innerSubscription <- readIORef $ coincidenceSubscribedInnerParent subscribed
616
- let outerParent = Some. This $ _eventSubscription_subscribed $ coincidenceSubscribedOuterParent subscribed
617
- innerParents = maybeToList $ fmap Some. This innerSubscription
615
+ let outerParent = Some $ _eventSubscription_subscribed $ coincidenceSubscribedOuterParent subscribed
616
+ innerParents = maybeToList $ fmap Some innerSubscription
618
617
return $ outerParent : innerParents
619
618
, eventSubscribedHasOwnHeightRef = True
620
619
, eventSubscribedWhoCreated = whoCreatedIORef $ coincidenceSubscribedCachedSubscribed subscribed
@@ -630,13 +629,13 @@ whoCreatedEventSubscribed = eventSubscribedWhoCreated
630
629
631
630
walkInvalidHeightParents :: EventSubscribed x -> IO [Some (EventSubscribed x )]
632
631
walkInvalidHeightParents s0 = do
633
- subscribers <- flip execStateT mempty $ ($ Some. This s0) $ fix $ \ loop (Some. This s) -> do
632
+ subscribers <- flip execStateT mempty $ ($ Some s0) $ fix $ \ loop (Some s) -> do
634
633
h <- liftIO $ readIORef $ eventSubscribedHeightRef s
635
634
when (h == invalidHeight) $ do
636
635
when (eventSubscribedHasOwnHeightRef s) $ liftIO $ writeIORef (eventSubscribedHeightRef s) $! invalidHeightBeingTraversed
637
- modify (Some. This s : )
636
+ modify (Some s : )
638
637
mapM_ loop =<< liftIO (eventSubscribedGetParents s)
639
- forM_ subscribers $ \ (Some. This s) -> writeIORef (eventSubscribedHeightRef s) $! invalidHeight
638
+ forM_ subscribers $ \ (Some s) -> writeIORef (eventSubscribedHeightRef s) $! invalidHeight
640
639
return subscribers
641
640
#endif
642
641
@@ -664,7 +663,7 @@ behaviorPull !p = Behavior $ do
664
663
val <- liftIO $ readIORef $ pullValue p
665
664
case val of
666
665
Just subscribed -> do
667
- askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some. This (BehaviorSubscribedPull subscribed)) : ))
666
+ askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedPull subscribed)) : ))
668
667
askInvalidator >>= mapM_ (\ wi -> liftIO $ modifyIORef' (pullSubscribedInvalidators subscribed) (wi: ))
669
668
liftIO $ touch $ pullSubscribedOwnInvalidator subscribed
670
669
return $ pullSubscribedValue subscribed
@@ -683,7 +682,7 @@ behaviorPull !p = Behavior $ do
683
682
, pullSubscribedParents = parents
684
683
}
685
684
liftIO $ writeIORef (pullValue p) $ Just subscribed
686
- askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some. This (BehaviorSubscribedPull subscribed)) : ))
685
+ askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedPull subscribed)) : ))
687
686
return a
688
687
689
688
behaviorDyn :: Patch p => Dyn x p -> Behavior x (PatchTarget p )
@@ -694,7 +693,7 @@ readHoldTracked :: Hold x p -> BehaviorM x (PatchTarget p)
694
693
readHoldTracked h = do
695
694
result <- liftIO $ readIORef $ holdValue h
696
695
askInvalidator >>= mapM_ (\ wi -> liftIO $ modifyIORef' (holdInvalidators h) (wi: ))
697
- askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some. This (BehaviorSubscribedHold h)) : ))
696
+ askParentsRef >>= mapM_ (\ r -> liftIO $ modifyIORef' r (SomeBehaviorSubscribed (Some (BehaviorSubscribedHold h)) : ))
698
697
liftIO $ touch h -- Otherwise, if this gets inlined enough, the hold's parent reference may get collected
699
698
return result
700
699
@@ -867,23 +866,23 @@ instance HasSpiderTimeline x => Defer (Some Clear) (EventM x) where
867
866
868
867
{-# INLINE scheduleClear #-}
869
868
scheduleClear :: Defer (Some Clear ) m => IORef (Maybe a ) -> m ()
870
- scheduleClear r = defer $ Some. This $ Clear r
869
+ scheduleClear r = defer $ Some $ Clear r
871
870
872
871
instance HasSpiderTimeline x => Defer (Some IntClear ) (EventM x ) where
873
872
{-# INLINE getDeferralQueue #-}
874
873
getDeferralQueue = asksEventEnv eventEnvIntClears
875
874
876
875
{-# INLINE scheduleIntClear #-}
877
876
scheduleIntClear :: Defer (Some IntClear ) m => IORef (IntMap a ) -> m ()
878
- scheduleIntClear r = defer $ Some. This $ IntClear r
877
+ scheduleIntClear r = defer $ Some $ IntClear r
879
878
880
879
instance HasSpiderTimeline x => Defer (Some RootClear ) (EventM x ) where
881
880
{-# INLINE getDeferralQueue #-}
882
881
getDeferralQueue = asksEventEnv eventEnvRootClears
883
882
884
883
{-# INLINE scheduleRootClear #-}
885
884
scheduleRootClear :: Defer (Some RootClear ) m => IORef (DMap k Identity ) -> m ()
886
- scheduleRootClear r = defer $ Some. This $ RootClear r
885
+ scheduleRootClear r = defer $ Some $ RootClear r
887
886
888
887
instance HasSpiderTimeline x => Defer (SomeResetCoincidence x ) (EventM x ) where
889
888
{-# INLINE getDeferralQueue #-}
@@ -1872,7 +1871,7 @@ mergeSubscriber m getKey = Subscriber
1872
1871
else liftIO $ do
1873
1872
#ifdef DEBUG_CYCLES
1874
1873
nodesInvolvedInCycle <- walkInvalidHeightParents $ eventSubscribedMerge subscribed
1875
- stacks <- forM nodesInvolvedInCycle $ \ (Some. This es) -> whoCreatedEventSubscribed es
1874
+ stacks <- forM nodesInvolvedInCycle $ \ (Some es) -> whoCreatedEventSubscribed es
1876
1875
let cycleInfo = " :\n " <> drawForest (listsToForest stacks)
1877
1876
#else
1878
1877
let cycleInfo = " "
@@ -2116,11 +2115,11 @@ runFrame a = SpiderHost $ do
2116
2115
return result
2117
2116
result <- runEventM go
2118
2117
toClear <- readIORef $ eventEnvClears env
2119
- forM_ toClear $ \ (Some. This (Clear ref)) -> {-# SCC "clear" #-} writeIORef ref Nothing
2118
+ forM_ toClear $ \ (Some (Clear ref)) -> {-# SCC "clear" #-} writeIORef ref Nothing
2120
2119
toClearInt <- readIORef $ eventEnvIntClears env
2121
- forM_ toClearInt $ \ (Some. This (IntClear ref)) -> {-# SCC "intClear" #-} writeIORef ref $! IntMap. empty
2120
+ forM_ toClearInt $ \ (Some (IntClear ref)) -> {-# SCC "intClear" #-} writeIORef ref $! IntMap. empty
2122
2121
toClearRoot <- readIORef $ eventEnvRootClears env
2123
- forM_ toClearRoot $ \ (Some. This (RootClear ref)) -> {-# SCC "rootClear" #-} writeIORef ref $! DMap. empty
2122
+ forM_ toClearRoot $ \ (Some (RootClear ref)) -> {-# SCC "rootClear" #-} writeIORef ref $! DMap. empty
2124
2123
toAssign <- readIORef $ eventEnvAssignments env
2125
2124
toReconnectRef <- newIORef []
2126
2125
coincidenceInfos <- readIORef $ eventEnvResetCoincidences env
@@ -2480,7 +2479,7 @@ unsafeNewSpiderTimelineEnv = do
2480
2479
2481
2480
-- | Create a new SpiderTimelineEnv
2482
2481
newSpiderTimeline :: IO (Some SpiderTimelineEnv )
2483
- newSpiderTimeline = withSpiderTimeline (pure . Some. This )
2482
+ newSpiderTimeline = withSpiderTimeline (pure . Some )
2484
2483
2485
2484
data LocalSpiderTimeline (x :: Type ) s
2486
2485
0 commit comments