packages feed

lifted-async 0.9.2 → 0.9.3

raw patch · 5 files changed

+55/−6 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Control.Concurrent.Async.Lifted: replicateConcurrently :: MonadBaseControl IO m => Int -> m a -> m [a]
+ Control.Concurrent.Async.Lifted: replicateConcurrently_ :: MonadBaseControl IO m => Int -> m a -> m ()
+ Control.Concurrent.Async.Lifted.Safe: replicateConcurrently :: (MonadBaseControl IO m, Forall (Pure m)) => Int -> m a -> m [a]
+ Control.Concurrent.Async.Lifted.Safe: replicateConcurrently_ :: (MonadBaseControl IO m, Forall (Pure m)) => Int -> m a -> m ()

Files

CHANGELOG.md view
@@ -1,4 +1,10 @@-## v0.9.2+## v0.9.3 - 2017-06-26++* Add Haddock comments for concurrently_ (#23)+* Add replicateConcurrently and replicateConcurrently_+* Test with GHC 8.2.1 on Travis++## v0.9.2 - 2017-06-24  * Add concurrently_ (#22) 
README.md view
@@ -3,8 +3,8 @@ [![Hackage](https://img.shields.io/hackage/v/lifted-async.svg)](https://hackage.haskell.org/package/lifted-async) [![Hackage-Deps](https://img.shields.io/hackage-deps/v/lifted-async.svg)](http://packdeps.haskellers.com/feed?needle=lifted-async) [![lifted-async on Stackage LTS 3](http://stackage.org/package/lifted-async/badge/lts)](http://stackage.org/lts/package/lifted-async)-[![Build Status](https://secure.travis-ci.org/maoe/lifted-async.png)](http://travis-ci.org/maoe/lifted-async)-[![Gitter chat](https://badges.gitter.im/maoe/lifted-async.png)](https://gitter.im/maoe/lifted-async)+[![Build Status](https://travis-ci.org/maoe/lifted-async.svg?branch=develop)](https://travis-ci.org/maoe/lifted-async)+[![Gitter](https://badges.gitter.im/maoe/lifted-async.svg)](https://gitter.im/maoe/lifted-async?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)  This package provides IO operations from [async](http://hackage.haskell.org/package/async) package lifted to any instance of `MonadBase` or `MonadBaseControl` from [monad-control](http://hackage.haskell.org/package/monad-control) package. 
lifted-async.cabal view
@@ -1,5 +1,5 @@ name:                lifted-async-version:             0.9.2+version:             0.9.3 synopsis:            Run lifted IO operations asynchronously and wait for their results homepage:            https://github.com/maoe/lifted-async bug-reports:         https://github.com/maoe/lifted-async/issues@@ -12,7 +12,8 @@ build-type:          Simple cabal-version:       >= 1.8 tested-with:-    GHC == 8.0.2+    GHC == 8.2.1+  , GHC == 8.0.2   , GHC == 7.10.2   , GHC == 7.8.4   , GHC == 7.6.3@@ -115,5 +116,5 @@  source-repository this   type: git-  tag: v0.9.2+  tag: v0.9.3   location: https://github.com/maoe/lifted-async.git
src/Control/Concurrent/Async/Lifted.hs view
@@ -66,12 +66,14 @@   , race, race_, concurrently, concurrently_   , mapConcurrently, mapConcurrently_   , forConcurrently, forConcurrently_+  , replicateConcurrently, replicateConcurrently_   , Concurrently(..)   ) where  import Control.Applicative import Control.Concurrent (threadDelay) import Control.Monad ((>=>), forever, liftM, void)+import Data.Foldable (fold) import GHC.IO (unsafeUnmask) import Prelude hiding (mapM) @@ -362,6 +364,7 @@   waitBoth a b {-# INLINABLE concurrently #-} +-- | Generalized version of 'A.concurrently_'. concurrently_ :: MonadBaseControl IO m => m a -> m b -> m () concurrently_ left right = void $ concurrently left right {-# INLINABLE concurrently_ #-}@@ -397,6 +400,24 @@   -> (a -> m b)   -> m () forConcurrently_ = flip mapConcurrently_++-- | Generalized version of 'A.replicateConcurrently'.+replicateConcurrently+  :: MonadBaseControl IO m+  => Int+  -> m a+  -> m [a]+replicateConcurrently n =+  runConcurrently . sequenceA . replicate n . Concurrently++-- | Generalized version of 'A.replicateConcurrently_'.+replicateConcurrently_+  :: MonadBaseControl IO m+  => Int+  -> m a+  -> m ()+replicateConcurrently_ n =+  runConcurrently . fold . replicate n . Concurrently . void  -- | Generalized version of 'A.Concurrently'. --
src/Control/Concurrent/Async/Lifted/Safe.hs view
@@ -70,6 +70,7 @@   , race, race_, concurrently, concurrently_   , mapConcurrently, mapConcurrently_   , forConcurrently, forConcurrently_+  , replicateConcurrently, replicateConcurrently_   , Concurrently(..)  @@ -87,6 +88,7 @@ import Control.Applicative import Control.Concurrent (threadDelay) import Control.Monad+import Data.Foldable (fold)  import Control.Concurrent.Async (Async) import Control.Exception.Lifted (SomeException, Exception)@@ -327,6 +329,7 @@   => m a -> m b -> m (a, b) concurrently = liftBaseOp2_ A.concurrently +-- | Generalized version of 'A.concurrently_'. concurrently_   :: forall m a b. (MonadBaseControl IO m, Forall (Pure m))   => m a -> m b -> m ()@@ -373,6 +376,24 @@   -> (a -> m b)   -> m () forConcurrently_ = flip mapConcurrently_++-- | Generalized version of 'A.replicateConcurrently'.+replicateConcurrently+  :: (MonadBaseControl IO m, Forall (Pure m))+  => Int+  -> m a+  -> m [a]+replicateConcurrently n =+  runConcurrently . sequenceA . replicate n . Concurrently++-- | Generalized version of 'A.replicateConcurrently_'.+replicateConcurrently_+  :: (MonadBaseControl IO m, Forall (Pure m))+  => Int+  -> m a+  -> m ()+replicateConcurrently_ n =+  runConcurrently . fold . replicate n . Concurrently . void  -- | Generalized version of 'A.Concurrently'. --