pipes-fluid-0.6.0.0: 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 #

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

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

Wrapped (Simultaneous m0 a0) Source # 

Associated Types

type Unwrapped (Simultaneous m0 a0) :: * #

Methods

_Wrapped' :: Iso' (Simultaneous m0 a0) (Unwrapped (Simultaneous m0 a0)) #

(~) * (Simultaneous m0 a0) t0 => Rewrapped (Simultaneous m1 a1) t0 Source # 
type Unwrapped (Simultaneous m0 a0) Source # 
type Unwrapped (Simultaneous m0 a0) = Producer a0 m0 ()