@@ -260,43 +260,27 @@ data Subscriber x a
260-- The result is also evaluated to WHNF, since forcing a thunk invalidates
260-- The result is also evaluated to WHNF, since forcing a thunk invalidates
261-- the weak pointer to it in some cases.
261-- the weak pointer to it in some cases.
263−--TODO: I think all of these noinlines are now unnecessary
264−{-# NOINLINE newSubscriberPush #-}
265newSubscriberPush :: (a -> ComputeM x (Maybe b)) -> PushSubscribed x a b -> IO (Subscriber x a)
263newSubscriberPush :: (a -> ComputeM x (Maybe b)) -> PushSubscribed x a b -> IO (Subscriber x a)
266newSubscriberPush compute subd = return $! SubscriberPush compute subd
264newSubscriberPush compute subd = return $! SubscriberPush compute subd
269− "newSubscriberHold/Identity" forall h. newSubscriberHold h = newSubscriberHoldIdentity h
271−{-# NOINLINE newSubscriberHold #-}
272newSubscriberHold :: R.Patch p => Hold x p a -> IO (Subscriber x (p a))
266newSubscriberHold :: R.Patch p => Hold x p a -> IO (Subscriber x (p a))
273newSubscriberHold h = return $! SubscriberHold h
267newSubscriberHold h = return $! SubscriberHold h
275−{-# NOINLINE newSubscriberHoldIdentity #-}
276−newSubscriberHoldIdentity :: Hold x Identity a -> IO (Subscriber x (Identity a))
277−newSubscriberHoldIdentity h = return $! SubscriberHoldIdentity h
279−{-# NOINLINE newSubscriberMerge #-}
280newSubscriberMerge :: GCompare k => k a -> MergeSubscribed x k -> IO (Subscriber x a)
269newSubscriberMerge :: GCompare k => k a -> MergeSubscribed x k -> IO (Subscriber x a)
281newSubscriberMerge k subd = return $! SubscriberMerge k subd
270newSubscriberMerge k subd = return $! SubscriberMerge k subd
283−{-# NOINLINE newSubscriberMergeChange #-}
284newSubscriberMergeChange :: GCompare k => MergeSubscribed x k -> IO (Subscriber x (R.PatchDMap (DMap k (Event x))))
272newSubscriberMergeChange :: GCompare k => MergeSubscribed x k -> IO (Subscriber x (R.PatchDMap (DMap k (Event x))))
285newSubscriberMergeChange subd = return $! SubscriberMergeChange subd
273newSubscriberMergeChange subd = return $! SubscriberMergeChange subd
287−{-# NOINLINE newSubscriberFan #-}
288newSubscriberFan :: GCompare k => FanSubscribed x k -> IO (Subscriber x (DMap k Identity))
275newSubscriberFan :: GCompare k => FanSubscribed x k -> IO (Subscriber x (DMap k Identity))
289newSubscriberFan subd = return $! SubscriberFan subd
276newSubscriberFan subd = return $! SubscriberFan subd
291−{-# NOINLINE newSubscriberSwitch #-}
292newSubscriberSwitch :: SwitchSubscribed x a -> IO (Subscriber x a)
278newSubscriberSwitch :: SwitchSubscribed x a -> IO (Subscriber x a)
293newSubscriberSwitch subd = return $! SubscriberSwitch subd
279newSubscriberSwitch subd = return $! SubscriberSwitch subd
295−{-# NOINLINE newSubscriberCoincidenceOuter #-}
296newSubscriberCoincidenceOuter :: CoincidenceSubscribed x b -> IO (Subscriber x (Event x b))
281newSubscriberCoincidenceOuter :: CoincidenceSubscribed x b -> IO (Subscriber x (Event x b))
297newSubscriberCoincidenceOuter subd = return $! SubscriberCoincidenceOuter subd
282newSubscriberCoincidenceOuter subd = return $! SubscriberCoincidenceOuter subd
299−{-# NOINLINE newSubscriberCoincidenceInner #-}
300newSubscriberCoincidenceInner :: CoincidenceSubscribed x a -> IO (Subscriber x a)
284newSubscriberCoincidenceInner :: CoincidenceSubscribed x a -> IO (Subscriber x a)
301newSubscriberCoincidenceInner subd = return $! SubscriberCoincidenceInner subd
285newSubscriberCoincidenceInner subd = return $! SubscriberCoincidenceInner subd