Hello community, here is the log from the commit of package ghc-lifted-async for openSUSE:Factory checked in at 2016-01-28 17:23:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-lifted-async (Old) and /work/SRC/openSUSE:Factory/.ghc-lifted-async.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-lifted-async" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-lifted-async/ghc-lifted-async.changes 2015-12-01 09:19:32.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-lifted-async.new/ghc-lifted-async.changes 2016-01-28 17:24:49.000000000 +0100 @@ -1,0 +2,10 @@ +Wed Jan 20 09:54:36 UTC 2016 - [email protected] + +- update to 0.8.0.1 +* Relax upper bound for constraints +* Drop Monad instance for Concurrently +* Expose STM operations +* Relax upper bound for base +* Add Monoid and Semigroup instances for Concurrently + +------------------------------------------------------------------- Old: ---- lifted-async-0.7.0.2.tar.gz New: ---- lifted-async-0.8.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-lifted-async.spec ++++++ --- /var/tmp/diff_new_pack.VCDfbf/_old 2016-01-28 17:24:53.000000000 +0100 +++ /var/tmp/diff_new_pack.VCDfbf/_new 2016-01-28 17:24:53.000000000 +0100 @@ -21,7 +21,7 @@ %bcond_with tests Name: ghc-lifted-async -Version: 0.7.0.2 +Version: 0.8.0.1 Release: 0 Summary: Run lifted IO operations asynchronously and wait for their results License: BSD-3-Clause ++++++ lifted-async-0.7.0.2.tar.gz -> lifted-async-0.8.0.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lifted-async-0.7.0.2/CHANGELOG.md new/lifted-async-0.8.0.1/CHANGELOG.md --- old/lifted-async-0.7.0.2/CHANGELOG.md 2015-11-27 02:28:01.000000000 +0100 +++ new/lifted-async-0.8.0.1/CHANGELOG.md 2016-01-17 22:16:51.000000000 +0100 @@ -1,3 +1,14 @@ +## v0.8.0.1 - 2015-01-17 + +* Relax upper bound for constraints + +## v0.8.0 - 2016-01-10 + +* Drop Monad instance for Concurrently +* Expose STM operations +* Relax upper bound for base and async +* Add Monoid and Semigroup instances for Concurrently + ## v0.7.0.2 - 2015-11-26 * Relax upper bound for the constraints package diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lifted-async-0.7.0.2/lifted-async.cabal new/lifted-async-0.8.0.1/lifted-async.cabal --- old/lifted-async-0.7.0.2/lifted-async.cabal 2015-11-27 02:28:01.000000000 +0100 +++ new/lifted-async-0.8.0.1/lifted-async.cabal 2016-01-17 22:16:51.000000000 +0100 @@ -1,5 +1,5 @@ name: lifted-async -version: 0.7.0.2 +version: 0.8.0.1 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 @@ -7,7 +7,7 @@ license-file: LICENSE author: Mitsutoshi Aoe maintainer: Mitsutoshi Aoe <[email protected]> -copyright: Copyright (C) 2012-2015 Mitsutoshi Aoe +copyright: Copyright (C) 2012-2016 Mitsutoshi Aoe category: Concurrency build-type: Simple cabal-version: >= 1.8 @@ -34,14 +34,14 @@ Control.Concurrent.Async.Lifted Control.Concurrent.Async.Lifted.Safe build-depends: - base >= 4.5 && < 4.9 - , async >= 2.0.1 && < 2.1 + base >= 4.5 && < 4.10 + , async >= 2.0.1 && < 2.2 , lifted-base >= 0.2 && < 0.3 , transformers-base >= 0.4 && < 0.5 if flag(monad-control-1) build-depends: monad-control == 1.0.* if impl(ghc >= 7.8) - build-depends: constraints >= 0.2 && < 0.7 + build-depends: constraints >= 0.2 && < 0.9 else build-depends: constraints >= 0.2 && < 0.6 else @@ -114,5 +114,5 @@ source-repository this type: git - tag: v0.7.0.2 + tag: v0.8.0.1 location: https://github.com/maoe/lifted-async.git diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lifted-async-0.7.0.2/src/Control/Concurrent/Async/Lifted/Safe.hs new/lifted-async-0.8.0.1/src/Control/Concurrent/Async/Lifted/Safe.hs --- old/lifted-async-0.7.0.2/src/Control/Concurrent/Async/Lifted/Safe.hs 2015-11-27 02:28:01.000000000 +0100 +++ new/lifted-async-0.8.0.1/src/Control/Concurrent/Async/Lifted/Safe.hs 2016-01-17 22:16:51.000000000 +0100 @@ -53,6 +53,16 @@ , Unsafe.waitEither_ , waitBoth +#if MIN_VERSION_async(2, 1, 0) + -- ** Waiting for multiple 'Async's in STM + , A.waitAnySTM + , A.waitAnyCatchSTM + , A.waitEitherSTM + , A.waitEitherCatchSTM + , A.waitEitherSTM_ + , A.waitBothSTM +#endif + -- ** Linking , Unsafe.link, Unsafe.link2 @@ -89,6 +99,11 @@ #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 710 import Data.Traversable #endif +#if !MIN_VERSION_base(4, 8, 0) +import Data.Monoid (Monoid(mappend, mempty)) +#elif MIN_VERSION_base(4, 9, 0) +import Data.Semigroup (Semigroup((<>))) +#endif -- | Generalized version of 'A.async'. async @@ -366,8 +381,20 @@ \\ (inst :: Forall (Pure m) :- Pure m a) \\ (inst :: Forall (Pure m) :- Pure m b) -instance (MonadBaseControl IO m, Forall (Pure m)) => - Monad (Concurrently m) where - return = Concurrently . return - Concurrently a >>= f = Concurrently $ a >>= runConcurrently . f +#if MIN_VERSION_base(4, 9, 0) +instance (MonadBaseControl IO m, Semigroup a, Forall (Pure m)) => + Semigroup (Concurrently m a) where + (<>) = liftA2 (<>) + +instance (MonadBaseControl IO m, Semigroup a, Monoid a, Forall (Pure m)) => + Monoid (Concurrently m a) where + mempty = pure mempty + mappend = (<>) +#else +instance (MonadBaseControl IO m, Monoid a, Forall (Pure m)) => + Monoid (Concurrently m a) where + mempty = pure mempty + mappend = liftA2 mappend +#endif + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lifted-async-0.7.0.2/src/Control/Concurrent/Async/Lifted.hs new/lifted-async-0.8.0.1/src/Control/Concurrent/Async/Lifted.hs --- old/lifted-async-0.7.0.2/src/Control/Concurrent/Async/Lifted.hs 2015-11-27 02:28:01.000000000 +0100 +++ new/lifted-async-0.8.0.1/src/Control/Concurrent/Async/Lifted.hs 2016-01-17 22:16:51.000000000 +0100 @@ -49,11 +49,21 @@ , waitEither_ , waitBoth +#if MIN_VERSION_async(2, 1, 0) + -- ** Waiting for multiple 'Async's in STM + , A.waitAnySTM + , A.waitAnyCatchSTM + , A.waitEitherSTM + , A.waitEitherCatchSTM + , A.waitEitherSTM_ + , A.waitBothSTM +#endif + -- ** Linking , link, link2 -- * Convenient utilities - , race, race_, concurrently, mapConcurrently + , race, race_, concurrently, mapConcurrently, forConcurrently , Concurrently(..) ) where @@ -73,6 +83,11 @@ #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 710 import Data.Traversable #endif +#if !MIN_VERSION_base(4, 8, 0) +import Data.Monoid (Monoid(mappend, mempty)) +#elif MIN_VERSION_base(4, 9, 0) +import Data.Semigroup (Semigroup((<>))) +#endif -- | Generalized version of 'A.async'. async :: MonadBaseControl IO m => m a -> m (Async (StM m a)) @@ -352,6 +367,14 @@ -> m (t b) mapConcurrently f = runConcurrently . traverse (Concurrently . f) +-- | Generalized version of 'A.forConcurrently'. +forConcurrently + :: (Traversable t, MonadBaseControl IO m) + => t a + -> (a -> m b) + -> m (t b) +forConcurrently = flip mapConcurrently + -- | Generalized version of 'A.Concurrently'. -- -- A value of type @'Concurrently' m a@ is an IO-based operation that can be @@ -385,9 +408,20 @@ Concurrently as <|> Concurrently bs = Concurrently $ either id id <$> race as bs -instance MonadBaseControl IO m => Monad (Concurrently m) where - return = Concurrently . return - Concurrently a >>= f = Concurrently $ a >>= runConcurrently . f +#if MIN_VERSION_base(4, 9, 0) +instance (MonadBaseControl IO m, Semigroup a) => + Semigroup (Concurrently m a) where + (<>) = liftA2 (<>) + +instance (MonadBaseControl IO m, Semigroup a, Monoid a) => + Monoid (Concurrently m a) where + mempty = pure mempty + mappend = (<>) +#else +instance (MonadBaseControl IO m, Monoid a) => Monoid (Concurrently m a) where + mempty = pure mempty + mappend = liftA2 mappend +#endif sequenceEither :: MonadBaseControl IO m => Either e (StM m a) -> m (Either e a) sequenceEither = either (return . Left) (liftM Right . restoreM)
