funflow-1.3.2: Workflows with arrows

Safe HaskellNone
LanguageHaskell2010

Control.Arrow.Async

Description

Asynchronous arrows over monads with MonadBaseControl IO, using lifted-async.

Synopsis

Documentation

newtype AsyncA m a b Source #

Constructors

AsyncA 

Fields

Instances
MonadBaseControl IO m => Arrow (AsyncA m) Source #

Since: funflow-2.1

Instance details

Defined in Control.Arrow.Async

Methods

arr :: (b -> c) -> AsyncA m b c #

first :: AsyncA m b c -> AsyncA m (b, d) (c, d) #

second :: AsyncA m b c -> AsyncA m (d, b) (d, c) #

(***) :: AsyncA m b c -> AsyncA m b' c' -> AsyncA m (b, b') (c, c') #

(&&&) :: AsyncA m b c -> AsyncA m b c' -> AsyncA m b (c, c') #

MonadBaseControl IO m => ArrowChoice (AsyncA m) Source # 
Instance details

Defined in Control.Arrow.Async

Methods

left :: AsyncA m b c -> AsyncA m (Either b d) (Either c d) #

right :: AsyncA m b c -> AsyncA m (Either d b) (Either d c) #

(+++) :: AsyncA m b c -> AsyncA m b' c' -> AsyncA m (Either b b') (Either c c') #

(|||) :: AsyncA m b d -> AsyncA m c d -> AsyncA m (Either b c) d #

(Exception ex, MonadBaseControl IO m, MonadCatch m) => ArrowError ex (AsyncA m :: * -> * -> *) Source # 
Instance details

Defined in Control.Arrow.Async

Methods

catch :: AsyncA m e c -> AsyncA m (e, ex) c -> AsyncA m e c Source #

Monad m => Category (AsyncA m :: * -> * -> *) Source # 
Instance details

Defined in Control.Arrow.Async

Methods

id :: AsyncA m a a #

(.) :: AsyncA m b c -> AsyncA m a b -> AsyncA m a c #

liftAsyncA :: (MonadTrans t, Monad m) => AsyncA m i o -> AsyncA (t m) i o Source #

Lift an AsyncA through a monad transformer of the underlying monad.