lifted-async 0.10.1.2 → 0.10.1.3
raw patch · 6 files changed
+24/−23 lines, 6 filesdep +tasty-benchdep −criteriondep ~basedep ~constraintsPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: tasty-bench
Dependencies removed: criterion
Dependency ranges changed: base, constraints
API changes (from Hackage documentation)
- Control.Concurrent.Async.Lifted: [ExceptionInLinkedThread] :: forall a. () => Async a -> SomeException -> ExceptionInLinkedThread
- Control.Concurrent.Async.Lifted.Safe: [ExceptionInLinkedThread] :: forall a. () => Async a -> SomeException -> ExceptionInLinkedThread
- Control.Concurrent.Async.Lifted.Safe: instance (Control.Monad.Trans.Control.StM m a Data.Type.Equality.~ a) => Control.Concurrent.Async.Lifted.Safe.Pure m a
+ Control.Concurrent.Async.Lifted: ExceptionInLinkedThread :: Async a -> SomeException -> ExceptionInLinkedThread
+ Control.Concurrent.Async.Lifted.Safe: ExceptionInLinkedThread :: Async a -> SomeException -> ExceptionInLinkedThread
+ Control.Concurrent.Async.Lifted.Safe: instance (Control.Monad.Trans.Control.StM m a GHC.Types.~ a) => Control.Concurrent.Async.Lifted.Safe.Pure m a
- Control.Concurrent.Async.Lifted: compareAsyncs :: () => Async a -> Async b -> Ordering
+ Control.Concurrent.Async.Lifted: compareAsyncs :: Async a -> Async b -> Ordering
- Control.Concurrent.Async.Lifted: pollSTM :: () => Async a -> STM (Maybe (Either SomeException a))
+ Control.Concurrent.Async.Lifted: pollSTM :: Async a -> STM (Maybe (Either SomeException a))
- Control.Concurrent.Async.Lifted: waitAnyCatchSTM :: () => [Async a] -> STM (Async a, Either SomeException a)
+ Control.Concurrent.Async.Lifted: waitAnyCatchSTM :: [Async a] -> STM (Async a, Either SomeException a)
- Control.Concurrent.Async.Lifted: waitAnySTM :: () => [Async a] -> STM (Async a, a)
+ Control.Concurrent.Async.Lifted: waitAnySTM :: [Async a] -> STM (Async a, a)
- Control.Concurrent.Async.Lifted: waitBothSTM :: () => Async a -> Async b -> STM (a, b)
+ Control.Concurrent.Async.Lifted: waitBothSTM :: Async a -> Async b -> STM (a, b)
- Control.Concurrent.Async.Lifted: waitCatchSTM :: () => Async a -> STM (Either SomeException a)
+ Control.Concurrent.Async.Lifted: waitCatchSTM :: Async a -> STM (Either SomeException a)
- Control.Concurrent.Async.Lifted: waitEitherCatchSTM :: () => Async a -> Async b -> STM (Either (Either SomeException a) (Either SomeException b))
+ Control.Concurrent.Async.Lifted: waitEitherCatchSTM :: Async a -> Async b -> STM (Either (Either SomeException a) (Either SomeException b))
- Control.Concurrent.Async.Lifted: waitEitherSTM :: () => Async a -> Async b -> STM (Either a b)
+ Control.Concurrent.Async.Lifted: waitEitherSTM :: Async a -> Async b -> STM (Either a b)
- Control.Concurrent.Async.Lifted: waitEitherSTM_ :: () => Async a -> Async b -> STM ()
+ Control.Concurrent.Async.Lifted: waitEitherSTM_ :: Async a -> Async b -> STM ()
- Control.Concurrent.Async.Lifted: waitSTM :: () => Async a -> STM a
+ Control.Concurrent.Async.Lifted: waitSTM :: Async a -> STM a
- Control.Concurrent.Async.Lifted.Safe: compareAsyncs :: () => Async a -> Async b -> Ordering
+ Control.Concurrent.Async.Lifted.Safe: compareAsyncs :: Async a -> Async b -> Ordering
- Control.Concurrent.Async.Lifted.Safe: pollSTM :: () => Async a -> STM (Maybe (Either SomeException a))
+ Control.Concurrent.Async.Lifted.Safe: pollSTM :: Async a -> STM (Maybe (Either SomeException a))
- Control.Concurrent.Async.Lifted.Safe: type family Forall (p :: k -> Constraint) :: Constraint
+ Control.Concurrent.Async.Lifted.Safe: type family Forall (p :: k -> Constraint)
- Control.Concurrent.Async.Lifted.Safe: waitAnyCatchSTM :: () => [Async a] -> STM (Async a, Either SomeException a)
+ Control.Concurrent.Async.Lifted.Safe: waitAnyCatchSTM :: [Async a] -> STM (Async a, Either SomeException a)
- Control.Concurrent.Async.Lifted.Safe: waitAnySTM :: () => [Async a] -> STM (Async a, a)
+ Control.Concurrent.Async.Lifted.Safe: waitAnySTM :: [Async a] -> STM (Async a, a)
- Control.Concurrent.Async.Lifted.Safe: waitBothSTM :: () => Async a -> Async b -> STM (a, b)
+ Control.Concurrent.Async.Lifted.Safe: waitBothSTM :: Async a -> Async b -> STM (a, b)
- Control.Concurrent.Async.Lifted.Safe: waitCatchSTM :: () => Async a -> STM (Either SomeException a)
+ Control.Concurrent.Async.Lifted.Safe: waitCatchSTM :: Async a -> STM (Either SomeException a)
- Control.Concurrent.Async.Lifted.Safe: waitEitherCatchSTM :: () => Async a -> Async b -> STM (Either (Either SomeException a) (Either SomeException b))
+ Control.Concurrent.Async.Lifted.Safe: waitEitherCatchSTM :: Async a -> Async b -> STM (Either (Either SomeException a) (Either SomeException b))
- Control.Concurrent.Async.Lifted.Safe: waitEitherSTM :: () => Async a -> Async b -> STM (Either a b)
+ Control.Concurrent.Async.Lifted.Safe: waitEitherSTM :: Async a -> Async b -> STM (Either a b)
- Control.Concurrent.Async.Lifted.Safe: waitEitherSTM_ :: () => Async a -> Async b -> STM ()
+ Control.Concurrent.Async.Lifted.Safe: waitEitherSTM_ :: Async a -> Async b -> STM ()
- Control.Concurrent.Async.Lifted.Safe: waitSTM :: () => Async a -> STM a
+ Control.Concurrent.Async.Lifted.Safe: waitSTM :: Async a -> STM a
Files
- CHANGELOG.md +6/−0
- README.md +2/−8
- benchmarks/Benchmarks.hs +6/−6
- lifted-async.cabal +8/−7
- src/Control/Concurrent/Async/Lifted.hs +1/−1
- src/Control/Concurrent/Async/Lifted/Safe.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for lifted-async +## v0.10.1.3 - 2021-02-26++* Support GHC 9.0.1 ([#33](https://github.com/maoe/lifted-async/pull/33))+* Switch from Travis CI to GitHub Actions+* Switch from criterion to tasty-bench+ ## v0.10.1.2 - 2020-07-23 * Relax upper version bound for tasty-expected-failure
README.md view
@@ -2,17 +2,11 @@ ========== [](https://hackage.haskell.org/package/lifted-async) [](http://packdeps.haskellers.com/feed?needle=lifted-async)-[](http://stackage.org/lts/package/lifted-async)-[](https://travis-ci.org/maoe/lifted-async)+[](http://stackage.org/lts/package/lifted-async)+[](https://github.com/maoe/lifted-async/actions/workflows/haskell-ci.yml) [](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.--You can install this library using cabal:--```-cabal install lifted-async-``` Contact information ==========
benchmarks/Benchmarks.hs view
@@ -1,7 +1,7 @@ module Main where import Control.Exception (SomeException(..)) -import Criterion.Main+import Test.Tasty.Bench (bench, bgroup, defaultMain, nfIO, whnfIO) import qualified Control.Concurrent.Async as A import qualified Control.Concurrent.Async.Lifted as L import qualified Control.Concurrent.Async.Lifted.Safe as LS@@ -13,11 +13,11 @@ , bench "lifted-async" $ whnfIO asyncWait_liftedAsync , bench "lifted-async-safe" $ whnfIO asyncWait_liftedAsyncSafe ]- , bgroup "async-cancel-waitCatch"- [ bench "async" $ whnfIO asyncCancelWaitCatch_async- , bench "lifted-async" $ whnfIO asyncCancelWaitCatch_liftedAsync- , bench "lifted-async-safe" $ whnfIO asyncCancelWaitCatch_liftedAsyncSafe- ]+ -- , bgroup "async-cancel-waitCatch"+ -- [ bench "async" $ whnfIO asyncCancelWaitCatch_async+ -- , bench "lifted-async" $ whnfIO asyncCancelWaitCatch_liftedAsync+ -- , bench "lifted-async-safe" $ whnfIO asyncCancelWaitCatch_liftedAsyncSafe+ -- ] , bgroup "waitAny" [ bench "async" $ whnfIO waitAny_async , bench "lifted-async" $ whnfIO waitAny_liftedAsync
lifted-async.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.24 name: lifted-async-version: 0.10.1.2+version: 0.10.1.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@@ -8,11 +8,12 @@ license-file: LICENSE author: Mitsutoshi Aoe maintainer: Mitsutoshi Aoe <me@maoe.name>-copyright: Copyright (C) 2012-2020 Mitsutoshi Aoe+copyright: Copyright (C) 2012-2021 Mitsutoshi Aoe category: Concurrency build-type: Simple tested-with:- GHC == 8.10.1+ GHC == 9.0.1+ GHC == 8.10.3 GHC == 8.8.3 GHC == 8.6.5 GHC == 8.4.4@@ -33,13 +34,13 @@ Control.Concurrent.Async.Lifted Control.Concurrent.Async.Lifted.Safe build-depends:- base >= 4.5 && < 4.15+ base >= 4.5 && < 4.16 , async >= 2.2 && < 2.3 , lifted-base >= 0.2 && < 0.3 , transformers-base >= 0.4 && < 0.5 , monad-control == 1.0.* if impl(ghc >= 7.8)- build-depends: constraints >= 0.2 && < 0.13+ build-depends: constraints >= 0.2 && < 0.14 else build-depends: constraints >= 0.2 && < 0.6 ghc-options: -Wall@@ -91,7 +92,7 @@ build-depends: base , async- , criterion+ , tasty-bench < 0.3 , deepseq , lifted-async default-language: Haskell2010@@ -104,7 +105,7 @@ build-depends: base , async- , criterion+ , tasty-bench < 0.3 , deepseq , lifted-async default-language: Haskell2010
src/Control/Concurrent/Async/Lifted.hs view
@@ -92,7 +92,7 @@ #endif #if !MIN_VERSION_base(4, 8, 0) import Data.Monoid (Monoid(mappend, mempty))-#elif MIN_VERSION_base(4, 9, 0)+#elif MIN_VERSION_base(4, 9, 0) && !MIN_VERSION_base(4, 13, 0) import Data.Semigroup (Semigroup((<>))) #endif
src/Control/Concurrent/Async/Lifted/Safe.hs view
@@ -98,7 +98,7 @@ #endif #if !MIN_VERSION_base(4, 8, 0) import Data.Monoid (Monoid(mappend, mempty))-#elif MIN_VERSION_base(4, 9, 0)+#elif MIN_VERSION_base(4, 9, 0) && !MIN_VERSION_base(4, 13, 0) import Data.Semigroup (Semigroup((<>))) #endif