Skip to content

Commit c046ffa

Browse files
committed
MonadTraceSTM: simplify IO functions
Removed the redundant proxy argument.
1 parent 0198e60 commit c046ffa

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
@@ -187,11 +187,10 @@ traceTVar :: MonadTraceSTM m
187187
traceTVar p StrictTVar {tvar} = Lazy.traceTVar p tvar
188188

189189
traceTVarIO :: MonadTraceSTM m
190-
=> proxy m
191-
-> StrictTVar m a
190+
=> StrictTVar m a
192191
-> (Maybe a -> a -> InspectMonad m TraceValue)
193192
-> m ()
194-
traceTVarIO p StrictTVar {tvar} = Lazy.traceTVarIO p tvar
193+
traceTVarIO StrictTVar {tvar} = Lazy.traceTVarIO tvar
195194

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

313312
traceTMVarIO :: MonadTraceSTM m
314-
=> proxy m
315-
-> StrictTMVar m a
313+
=> StrictTMVar m a
316314
-> (Maybe (Maybe a) -> (Maybe a) -> InspectMonad m TraceValue)
317315
-> m ()
318-
traceTMVarIO p (StrictTMVar var) = Lazy.traceTMVarIO p var
316+
traceTMVarIO (StrictTMVar var) = Lazy.traceTMVarIO var
319317

320318
castStrictTMVar :: LazyTMVar m ~ LazyTMVar n
321319
=> StrictTMVar m a -> StrictTMVar n a
@@ -388,11 +386,10 @@ traceTQueue :: MonadTraceSTM m
388386
traceTQueue p (StrictTQueue queue) = Lazy.traceTQueue p queue
389387

390388
traceTQueueIO :: MonadTraceSTM m
391-
=> proxy m
392-
-> StrictTQueue m a
389+
=> StrictTQueue m a
393390
-> ((Maybe [a]) -> [a] -> InspectMonad m TraceValue)
394391
-> m ()
395-
traceTQueueIO p (StrictTQueue queue) = Lazy.traceTQueueIO p queue
392+
traceTQueueIO (StrictTQueue queue) = Lazy.traceTQueueIO queue
396393

397394
newTQueue :: MonadSTM m => STM m (StrictTQueue m a)
398395
newTQueue = StrictTQueue <$> Lazy.newTQueue
@@ -444,11 +441,10 @@ traceTBQueue :: MonadTraceSTM m
444441
traceTBQueue p (StrictTBQueue queue) = Lazy.traceTBQueue p queue
445442

446443
traceTBQueueIO :: MonadTraceSTM m
447-
=> proxy m
448-
-> StrictTBQueue m a
444+
=> StrictTBQueue m a
449445
-> ((Maybe [a]) -> [a] -> InspectMonad m TraceValue)
450446
-> m ()
451-
traceTBQueueIO p (StrictTBQueue queue) = Lazy.traceTBQueueIO p queue
447+
traceTBQueueIO (StrictTBQueue queue) = Lazy.traceTBQueueIO queue
452448

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

0 commit comments

Comments
 (0)