-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Extra Utilities for the Async Library
--
-- Extra Utilities for the Async Library
@package async-extras
@version 0.1.0.0
module Control.Concurrent.Async.Extra
-- | Implementation derived from Petr Pudlák's answer on StackOverflow
-- http:stackoverflow.coma18898822/230050
sequencePool :: Traversable t => Int -> t (IO a) -> IO (t a)
-- | Implementation copied from Petr Pudlák's answer on StackOverflow
-- http:stackoverflow.coma18898822/230050
mapPool :: Traversable t => Int -> (a -> IO b) -> t a -> IO (t b)
sequenceConcurrently :: Traversable t => t (IO a) -> IO (t a)
-- | Create an Async a and pass it to itself.
fixAsync :: (Async a -> IO a) -> IO (Async a)
-- | Create an async that is link to a parent. If the parent dies so does
-- this async
withParent :: Async a -> IO b -> IO (Async b)
-- | Is like Concurrently but includes a sequential monad instance
newtype Promise a
Promise :: IO a -> Promise a
unPromise :: Promise a -> IO a
instance Functor Promise
instance MonadPlus Promise
instance Monad Promise
instance Alternative Promise
instance Applicative Promise