@@ -35,22 +35,37 @@ class Monad m => MonadMVar m where
35
35
36
36
type MVar m = (mvar :: Type -> Type ) | mvar -> m
37
37
38
+ -- | See 'IO.newEmptyMVar'.
38
39
newEmptyMVar :: m (MVar m a )
40
+ -- | See 'IO.takeMVar'.
39
41
takeMVar :: MVar m a -> m a
42
+ -- | See 'IO.putMVar'.
40
43
putMVar :: MVar m a -> a -> m ()
44
+ -- | See 'IO.tryTakeMVar'.
41
45
tryTakeMVar :: MVar m a -> m (Maybe a )
46
+ -- | See 'IO.tryPutMVar'.
42
47
tryPutMVar :: MVar m a -> a -> m Bool
48
+ -- | See 'IO.isEmptyMVar'.
43
49
isEmptyMVar :: MVar m a -> m Bool
44
50
45
51
-- methods with a default implementation
52
+ -- | See 'IO.newMVar'.
46
53
newMVar :: a -> m (MVar m a )
54
+ -- | See 'IO.readMVar'.
47
55
readMVar :: MVar m a -> m a
56
+ -- | See 'IO.swapMVar'.
48
57
swapMVar :: MVar m a -> a -> m a
58
+ -- | See 'IO.withMVar'.
49
59
withMVar :: MVar m a -> (a -> m b ) -> m b
60
+ -- | See 'IO.withMVarMasked'.
50
61
withMVarMasked :: MVar m a -> (a -> m b ) -> m b
62
+ -- | See 'IO.modifyMVar_'.
51
63
modifyMVar_ :: MVar m a -> (a -> m a ) -> m ()
64
+ -- | See 'IO.modifyMVar'.
52
65
modifyMVar :: MVar m a -> (a -> m (a , b )) -> m b
66
+ -- | See 'IO.modifyMVarMasked_'.
53
67
modifyMVarMasked_ :: MVar m a -> (a -> m a ) -> m ()
68
+ -- | See 'IO.modifyMVarMasked'.
54
69
modifyMVarMasked :: MVar m a -> (a -> m (a ,b )) -> m b
55
70
56
71
default newMVar :: a -> m (MVar m a )
0 commit comments