Safe Haskell | None |
---|---|
Language | Haskell2010 |
Pipes.Fluid.Impulse
- newtype Impulse m a = Impulse {
- impulsively :: Producer a m ()
- module Pipes.Fluid.Merge
Documentation
The applicative instance of this combines multiple Producers reactively ie, yields a value as soon as either or both of the input producers yields a value.
Constructors
Impulse | |
Fields
|
Instances
Monad m => Functor (Impulse m) Source # | |
(Alternative m, Monad m) => Applicative (Impulse m) Source # | Impulseively combines two producers, given initial values to use when the producer is blocked/failed.
This only works for Alternative m where failure means there was no effects, eg. |
(Alternative m, Monad m) => Merge (Impulse m) Source # | Impulseively combines two producers, given initial values to use when the produce hasn't produced anything yet
Combine two signals, and returns a signal that emits
|
(Alternative m, Monad m, Semigroup a) => Semigroup (Impulse m a) Source # | |
(Alternative m, Monad m, Semigroup a) => Monoid (Impulse m a) Source # | |
Wrapped (Impulse m0 a0) Source # | |
(~) * (Impulse m0 a0) t0 => Rewrapped (Impulse m1 a1) t0 Source # | |
type Unwrapped (Impulse m0 a0) Source # | |
module Pipes.Fluid.Merge