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)


Reply via email to