pipes-fluid-0.6.0.1: Reactively combines Producers so that a value is yielded as soon as possible.

Safe HaskellNone
LanguageHaskell2010

Pipes.Fluid.Simultaneous

Synopsis

Documentation

newtype Simultaneous m a Source #

The applicative instance of this combines multiple Producers synchronously ie, yields a value only when both of the input producers yields a value. Ends as soon as any of the input producer is ended.

Constructors

Simultaneous 

Fields

Instances

Monad m => Monad (Simultaneous m) Source # 

Methods

(>>=) :: Simultaneous m a -> (a -> Simultaneous m b) -> Simultaneous m b #

(>>) :: Simultaneous m a -> Simultaneous m b -> Simultaneous m b #

return :: a -> Simultaneous m a #

fail :: String -> Simultaneous m a #

Monad m => Functor (Simultaneous m) Source # 

Methods

fmap :: (a -> b) -> Simultaneous m a -> Simultaneous m b #

(<$) :: a -> Simultaneous m b -> Simultaneous m a #

Monad m => Applicative (Simultaneous m) Source # 

Methods

pure :: a -> Simultaneous m a #

(<*>) :: Simultaneous m (a -> b) -> Simultaneous m a -> Simultaneous m b #

liftA2 :: (a -> b -> c) -> Simultaneous m a -> Simultaneous m b -> Simultaneous m c #

(*>) :: Simultaneous m a -> Simultaneous m b -> Simultaneous m b #

(<*) :: Simultaneous m a -> Simultaneous m b -> Simultaneous m a #

Wrapped (Simultaneous m a) Source # 

Associated Types

type Unwrapped (Simultaneous m a) :: * #

(~) * (Simultaneous m1 a1) t => Rewrapped (Simultaneous m2 a2) t Source # 
type Unwrapped (Simultaneous m a) Source # 
type Unwrapped (Simultaneous m a) = Producer a m ()