packages feed

concurrent-state 0.5.1.2 → 0.5.1.3

raw patch · 5 files changed

+13/−3 lines, 5 files

Files

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