concurrent-state 0.5.1.2 → 0.5.1.3
raw patch · 5 files changed
+13/−3 lines, 5 files
Files
- changelog +4/−0
- concurrent-state.cabal +1/−1
- src/Control/Concurrent/Lifted/Fork.hs +6/−0
- src/Control/Monad/RWS/Concurrent/Lazy.hs +1/−1
- src/Control/Monad/RWS/Concurrent/Strict.hs +1/−1
changelog view
@@ -1,3 +1,7 @@+0.5.1.3+-------+* Clean up MonadFork instances+ 0.5.1.2 ------- * Add a concurrent chat server example
concurrent-state.cabal view
@@ -1,5 +1,5 @@ name: concurrent-state-version: 0.5.1.2+version: 0.5.1.3 synopsis: MTL-like library using TVars description: State, RWS backed by TVar. homepage: https://github.com/joelteon/concurrent-state
src/Control/Concurrent/Lifted/Fork.hs view
@@ -17,6 +17,7 @@ import qualified Control.Concurrent as C import Control.Monad.Catch+import Control.Monad.Trans.Identity import Control.Monad.Reader -- | Generalize 'forkIO' to 'MonadIO'.@@ -29,6 +30,11 @@ fork = C.forkIO forkOn = C.forkOn forkOS = C.forkOS++instance MonadFork m => MonadFork (IdentityT m) where+ fork (IdentityT m) = IdentityT (fork m)+ forkOn i (IdentityT m) = IdentityT (forkOn i m)+ forkOS (IdentityT m) = IdentityT (forkOS m) instance MonadFork m => MonadFork (ReaderT r m) where fork (ReaderT m) = ReaderT (fork . m)
src/Control/Monad/RWS/Concurrent/Lazy.hs view
@@ -122,7 +122,7 @@ instance (Monoid w, MonadIO m, MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (RWSC r w s m) -instance MonadFork m => MonadFork (RWSC r w s m) where+instance (Monoid w, MonadFork m) => MonadFork (RWSC r w s m) where fork = liftFork fork forkOn i = liftFork (forkOn i) forkOS = liftFork forkOS
src/Control/Monad/RWS/Concurrent/Strict.hs view
@@ -122,7 +122,7 @@ instance (Monoid w, MonadIO m, MonadReader r m, MonadWriter w m, MonadState s m) => MonadRWS r w s (RWSC r w s m) -instance MonadFork m => MonadFork (RWSC r w s m) where+instance (Monoid w, MonadFork m) => MonadFork (RWSC r w s m) where fork = liftFork fork forkOn i = liftFork (forkOn i) forkOS = liftFork forkOS