machinecell-3.0.0: Arrow based stream transducers

Safe HaskellSafe
LanguageHaskell2010

Control.Arrow.Machine.Misc.Discrete

Contents

Synopsis

Discrete

This module should be imported manually.

data T a Source #

updates :: T a -> Event () Source #

value :: T a -> a Source #

arr :: ArrowApply a => (b -> c) -> ProcessA a (T b) (T c) Source #

arr2 :: ArrowApply a => (b1 -> b2 -> c) -> ProcessA a (T b1, T b2) (T c) Source #

arr3 :: ArrowApply a => (b1 -> b2 -> b3 -> c) -> ProcessA a (T b1, T b2, T b3) (T c) Source #

arr4 :: ArrowApply a => (b1 -> b2 -> b3 -> b4 -> c) -> ProcessA a (T b1, T b2, T b3, T b4) (T c) Source #

arr5 :: ArrowApply a => (b1 -> b2 -> b3 -> b4 -> b5 -> c) -> ProcessA a (T b1, T b2, T b3, T b4, T b5) (T c) Source #

constant :: ArrowApply a => c -> ProcessA a b (T c) Source #

hold :: ArrowApply a => b -> ProcessA a (Event b) (T b) Source #

accum :: ArrowApply a => b -> ProcessA a (Event (b -> b)) (T b) Source #

fromEq :: (ArrowApply a, Eq b) => ProcessA a b (T b) Source #

edge :: ArrowApply a => ProcessA a (T b) (Event b) Source #

asUpdater :: ArrowApply a => a b c -> ProcessA a (T b) (Event c) Source #

data Alg a i o Source #

Instances

ArrowApply a => Functor (Alg a i) Source # 

Methods

fmap :: (a -> b) -> Alg a i a -> Alg a i b #

(<$) :: a -> Alg a i b -> Alg a i a #

ArrowApply a => Applicative (Alg a i) Source # 

Methods

pure :: a -> Alg a i a #

(<*>) :: Alg a i (a -> b) -> Alg a i a -> Alg a i b #

(*>) :: Alg a i a -> Alg a i b -> Alg a i b #

(<*) :: Alg a i a -> Alg a i b -> Alg a i a #