packages feed

concurrent-state 0.4.1.0 → 0.4.2.0

raw patch · 3 files changed

+9/−5 lines, 3 files

Files

changelog view
@@ -1,3 +1,7 @@+0.4.2.0+-------+* Remove MonadCatch constraint from MonadFork+ 0.4.1.0 ------- * Add forkWithUnmask, forkOnWithUnmask to Control.Concurrent.Lifted.Fork
concurrent-state.cabal view
@@ -1,5 +1,5 @@ name:                concurrent-state-version:             0.4.1.0+version:             0.4.2.0 synopsis:            MTL-like library using TVars description:         State backed by TVar. homepage:            https://github.com/joelteon/concurrent-state
src/Control/Concurrent/Lifted/Fork.hs view
@@ -20,7 +20,7 @@ import           Control.Monad.Reader  -- | Generalize 'forkIO' to 'MonadIO'.-class (MonadIO m, MonadCatch m) => MonadFork m where+class MonadIO m => MonadFork m where     fork :: m () -> m C.ThreadId     forkOn :: Int -> m () -> m C.ThreadId     forkOS :: m () -> m C.ThreadId@@ -36,14 +36,14 @@     forkOS (ReaderT m) = ReaderT (forkOS . m)  -- | Generalized 'C.forkFinally'.-forkFinally :: MonadFork m => m a -> (Either SomeException a -> m ()) -> m C.ThreadId+forkFinally :: (MonadCatch m, MonadFork m) => m a -> (Either SomeException a -> m ()) -> m C.ThreadId forkFinally action andThen = mask $ \restore ->     fork $ try (restore action) >>= andThen  -- | Generalized 'C.forkIOWithUnmask'.-forkWithUnmask :: MonadFork m => ((forall a. m a -> m a) -> m ()) -> m C.ThreadId+forkWithUnmask :: (MonadCatch m, MonadFork m) => ((forall a. m a -> m a) -> m ()) -> m C.ThreadId forkWithUnmask = fork . mask  -- | Generalized 'C.forkOnWithUnmask'.-forkOnWithUnmask :: MonadFork m => Int -> ((forall a. m a -> m a) -> m ()) -> m C.ThreadId+forkOnWithUnmask :: (MonadCatch m, MonadFork m) => Int -> ((forall a. m a -> m a) -> m ()) -> m C.ThreadId forkOnWithUnmask i = forkOn i . mask