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 - mimi.vx@gmail.com
+
+- 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
-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)