packages feed

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 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 @@ ========== [![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://travis-ci.org/maoe/lifted-async.svg?branch=develop)](https://travis-ci.org/maoe/lifted-async)+[![lifted-async on Stackage LTS](https://stackage.org/package/lifted-async/badge/lts)](http://stackage.org/lts/package/lifted-async)+[![Haskell-CI](https://github.com/maoe/lifted-async/actions/workflows/haskell-ci.yml/badge.svg?branch=master)](https://github.com/maoe/lifted-async/actions/workflows/haskell-ci.yml) [![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.--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