@@ -70,28 +70,35 @@ tryReadMVar = unsafeEff_ . M.tryReadMVar
71-- | Lifted 'M.withMVar'.
71-- | Lifted 'M.withMVar'.
72withMVar :: Concurrent :> es => MVar a -> (a -> Eff es b) -> Eff es b
72withMVar :: Concurrent :> es => MVar a -> (a -> Eff es b) -> Eff es b
73+withMVar var f = unsafeUnliftIO $ \unlift -> do
73−withMVar var f = unsafeEff $ \es -> M.withMVar var ((`unEff` es) . f)
74+ M.withMVar var $ unlift . f
75-- | Lifted 'M.withMVarMasked'.
76-- | Lifted 'M.withMVarMasked'.
76withMVarMasked :: Concurrent :> es => MVar a -> (a -> Eff es b) -> Eff es b
77withMVarMasked :: Concurrent :> es => MVar a -> (a -> Eff es b) -> Eff es b
78+withMVarMasked var f = unsafeUnliftIO $ \unlift -> do
77−withMVarMasked var f = unsafeEff $ \es -> M.withMVarMasked var ((`unEff` es) . f)
79+ M.withMVarMasked var $ unlift . f
79-- | Lifted 'M.modifyMVar_'.
81-- | Lifted 'M.modifyMVar_'.
80modifyMVar_ :: Concurrent :> es => MVar a -> (a -> Eff es a) -> Eff es ()
82modifyMVar_ :: Concurrent :> es => MVar a -> (a -> Eff es a) -> Eff es ()
83+modifyMVar_ var f = unsafeUnliftIO $ \unlift -> do
81−modifyMVar_ var f = unsafeEff $ \es -> M.modifyMVar_ var ((`unEff` es) . f)
84+ M.modifyMVar_ var $ unlift . f
83-- | Lifted 'M.modifyMVar'.
86-- | Lifted 'M.modifyMVar'.
84modifyMVar :: Concurrent :> es => MVar a -> (a -> Eff es (a, b)) -> Eff es b
87modifyMVar :: Concurrent :> es => MVar a -> (a -> Eff es (a, b)) -> Eff es b
88+modifyMVar var f = unsafeUnliftIO $ \unlift -> do
85−modifyMVar var f = unsafeEff $ \es -> M.modifyMVar var ((`unEff` es) . f)
89+ M.modifyMVar var $ unlift . f
87-- | Lifted 'M.modifyMVarMasked_'.
91-- | Lifted 'M.modifyMVarMasked_'.
88modifyMVarMasked_ :: Concurrent :> es => MVar a -> (a -> Eff es a) -> Eff es ()
92modifyMVarMasked_ :: Concurrent :> es => MVar a -> (a -> Eff es a) -> Eff es ()
93+modifyMVarMasked_ var f = unsafeUnliftIO $ \unlift -> do
89−modifyMVarMasked_ var f = unsafeEff $ \es -> M.modifyMVarMasked_ var ((`unEff` es) . f)
94+ M.modifyMVarMasked_ var $ unlift . f
91-- | Lifted 'M.modifyMVarMasked'.
96-- | Lifted 'M.modifyMVarMasked'.
92modifyMVarMasked :: Concurrent :> es => MVar a -> (a -> Eff es (a, b)) -> Eff es b
97modifyMVarMasked :: Concurrent :> es => MVar a -> (a -> Eff es (a, b)) -> Eff es b
98+modifyMVarMasked var f = unsafeUnliftIO $ \unlift -> do
93−modifyMVarMasked var f = unsafeEff $ \es -> M.modifyMVarMasked var ((`unEff` es) . f)
99+ M.modifyMVarMasked var $ unlift . f
95-- | Lifted 'M.mkWeakMVar'.
101-- | Lifted 'M.mkWeakMVar'.
96mkWeakMVar :: Concurrent :> es => MVar a -> Eff es () -> Eff es (Weak (MVar a))
102mkWeakMVar :: Concurrent :> es => MVar a -> Eff es () -> Eff es (Weak (MVar a))
103+mkWeakMVar var f = unsafeUnliftIO $ \unlift -> do
97−mkWeakMVar var f = unsafeEff $ \es -> M.mkWeakMVar var ((`unEff` es) f)
104+ M.mkWeakMVar var $ unlift f