Skip to content

Commit 6cc87b0

Browse files
committed
MonadTraceSTM: simplify IO functions
Removed the redundant proxy argument.
1 parent 2733877 commit 6cc87b0

File tree

2 files changed

+29
-42
lines changed

2 files changed

+29
-42
lines changed

io-classes/src/Control/Monad/Class/MonadSTM.hs

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ import Data.Foldable (traverse_)
8383
import Data.Function (on)
8484
import Data.Ix (Ix, rangeSize)
8585
import Data.Kind (Type)
86+
import Data.Proxy (Proxy (..))
8687
import Data.Typeable (Typeable)
8788
import GHC.Stack
8889
import Numeric.Natural (Natural)
@@ -590,60 +591,50 @@ class MonadInspectSTM m
590591
traceTSem = traceTSemDefault
591592

592593

593-
traceTVarIO :: proxy m
594-
-> TVar m a
594+
traceTVarIO :: TVar m a
595595
-> (Maybe a -> a -> InspectMonad m TraceValue)
596596
-> m ()
597597

598-
traceTMVarIO :: proxy m
599-
-> TMVar m a
598+
traceTMVarIO :: TMVar m a
600599
-> (Maybe (Maybe a) -> (Maybe a) -> InspectMonad m TraceValue)
601600
-> m ()
602601

603-
traceTQueueIO :: proxy m
604-
-> TQueue m a
602+
traceTQueueIO :: TQueue m a
605603
-> (Maybe [a] -> [a] -> InspectMonad m TraceValue)
606604
-> m ()
607605

608-
traceTBQueueIO :: proxy m
609-
-> TBQueue m a
606+
traceTBQueueIO :: TBQueue m a
610607
-> (Maybe [a] -> [a] -> InspectMonad m TraceValue)
611608
-> m ()
612609

613-
traceTSemIO :: proxy m
614-
-> TSem m
610+
traceTSemIO :: TSem m
615611
-> (Maybe Integer -> Integer -> InspectMonad m TraceValue)
616612
-> m ()
617613

618-
default traceTVarIO :: proxy m
619-
-> TVar m a
614+
default traceTVarIO :: TVar m a
620615
-> (Maybe a -> a -> InspectMonad m TraceValue)
621616
-> m ()
622-
traceTVarIO = \p v f -> atomically (traceTVar p v f)
617+
traceTVarIO = \v f -> atomically (traceTVar Proxy v f)
623618

624-
default traceTMVarIO :: proxy m
625-
-> TMVar m a
619+
default traceTMVarIO :: TMVar m a
626620
-> (Maybe (Maybe a) -> (Maybe a) -> InspectMonad m TraceValue)
627621
-> m ()
628-
traceTMVarIO = \p v f -> atomically (traceTMVar p v f)
622+
traceTMVarIO = \v f -> atomically (traceTMVar Proxy v f)
629623

630-
default traceTQueueIO :: proxy m
631-
-> TQueue m a
624+
default traceTQueueIO :: TQueue m a
632625
-> (Maybe [a] -> [a] -> InspectMonad m TraceValue)
633626
-> m ()
634-
traceTQueueIO = \p v f -> atomically (traceTQueue p v f)
627+
traceTQueueIO = \v f -> atomically (traceTQueue Proxy v f)
635628

636-
default traceTBQueueIO :: proxy m
637-
-> TBQueue m a
629+
default traceTBQueueIO :: TBQueue m a
638630
-> (Maybe [a] -> [a] -> InspectMonad m TraceValue)
639631
-> m ()
640-
traceTBQueueIO = \p v f -> atomically (traceTBQueue p v f)
632+
traceTBQueueIO = \v f -> atomically (traceTBQueue Proxy v f)
641633

642-
default traceTSemIO :: proxy m
643-
-> TSem m
634+
default traceTSemIO :: TSem m
644635
-> (Maybe Integer -> Integer -> InspectMonad m TraceValue)
645636
-> m ()
646-
traceTSemIO = \p v f -> atomically (traceTSem p v f)
637+
traceTSemIO = \v f -> atomically (traceTSem Proxy v f)
647638

648639

649640
--
@@ -754,11 +745,11 @@ instance MonadTraceSTM IO where
754745
traceTBQueue = \_ _ _ -> return ()
755746
traceTSem = \_ _ _ -> return ()
756747

757-
traceTVarIO = \_ _ _ -> return ()
758-
traceTMVarIO = \_ _ _ -> return ()
759-
traceTQueueIO = \_ _ _ -> return ()
760-
traceTBQueueIO = \_ _ _ -> return ()
761-
traceTSemIO = \_ _ _ -> return ()
748+
traceTVarIO = \_ _ -> return ()
749+
traceTMVarIO = \_ _ -> return ()
750+
traceTQueueIO = \_ _ -> return ()
751+
traceTBQueueIO = \_ _ -> return ()
752+
traceTSemIO = \_ _ -> return ()
762753

763754
-- | Wrapper around 'BlockedIndefinitelyOnSTM' that stores a call stack
764755
data BlockedIndefinitely = BlockedIndefinitely {

strict-stm/src/Control/Monad/Class/MonadSTM/Strict.hs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,10 @@ traceTVar :: MonadTraceSTM m
188188
traceTVar p StrictTVar {tvar} = Lazy.traceTVar p tvar
189189

190190
traceTVarIO :: MonadTraceSTM m
191-
=> proxy m
192-
-> StrictTVar m a
191+
=> StrictTVar m a
193192
-> (Maybe a -> a -> InspectMonad m TraceValue)
194193
-> m ()
195-
traceTVarIO p StrictTVar {tvar} = Lazy.traceTVarIO p tvar
194+
traceTVarIO StrictTVar {tvar} = Lazy.traceTVarIO tvar
196195

197196
castStrictTVar :: LazyTVar m ~ LazyTVar n
198197
=> StrictTVar m a -> StrictTVar n a
@@ -312,11 +311,10 @@ traceTMVar :: MonadTraceSTM m
312311
traceTMVar p (StrictTMVar var) = Lazy.traceTMVar p var
313312

314313
traceTMVarIO :: MonadTraceSTM m
315-
=> proxy m
316-
-> StrictTMVar m a
314+
=> StrictTMVar m a
317315
-> (Maybe (Maybe a) -> (Maybe a) -> InspectMonad m TraceValue)
318316
-> m ()
319-
traceTMVarIO p (StrictTMVar var) = Lazy.traceTMVarIO p var
317+
traceTMVarIO (StrictTMVar var) = Lazy.traceTMVarIO var
320318

321319
castStrictTMVar :: LazyTMVar m ~ LazyTMVar n
322320
=> StrictTMVar m a -> StrictTMVar n a
@@ -389,11 +387,10 @@ traceTQueue :: MonadTraceSTM m
389387
traceTQueue p (StrictTQueue queue) = Lazy.traceTQueue p queue
390388

391389
traceTQueueIO :: MonadTraceSTM m
392-
=> proxy m
393-
-> StrictTQueue m a
390+
=> StrictTQueue m a
394391
-> ((Maybe [a]) -> [a] -> InspectMonad m TraceValue)
395392
-> m ()
396-
traceTQueueIO p (StrictTQueue queue) = Lazy.traceTQueueIO p queue
393+
traceTQueueIO (StrictTQueue queue) = Lazy.traceTQueueIO queue
397394

398395
newTQueue :: MonadSTM m => STM m (StrictTQueue m a)
399396
newTQueue = StrictTQueue <$> Lazy.newTQueue
@@ -445,11 +442,10 @@ traceTBQueue :: MonadTraceSTM m
445442
traceTBQueue p (StrictTBQueue queue) = Lazy.traceTBQueue p queue
446443

447444
traceTBQueueIO :: MonadTraceSTM m
448-
=> proxy m
449-
-> StrictTBQueue m a
445+
=> StrictTBQueue m a
450446
-> ((Maybe [a]) -> [a] -> InspectMonad m TraceValue)
451447
-> m ()
452-
traceTBQueueIO p (StrictTBQueue queue) = Lazy.traceTBQueueIO p queue
448+
traceTBQueueIO (StrictTBQueue queue) = Lazy.traceTBQueueIO queue
453449

454450
newTBQueue :: MonadSTM m => Natural -> STM m (StrictTBQueue m a)
455451
newTBQueue n = StrictTBQueue <$> Lazy.newTBQueue n

0 commit comments

Comments
 (0)