grapefruit-frp-0.1.0.2: Functional Reactive Programming core

Safe HaskellNone

FRP.Grapefruit.Signal.Incremental

Contents

Synopsis

Incremental signal type

data ISignal era val Source

class Semigroup (Diff val) => Incremental val whereSource

Associated Types

data Diff val :: *Source

type ValidationState val :: *Source

Instances

Monolithic values

newtype Monolithic val Source

Constructors

Monolithic val 

Instances

Construction

construct :: Incremental val => val -> DSignal era (Diff val) -> ISignal era valSource

Queries

withInit :: Signal signal => ISignal era val -> (val -> signal era val') -> signal era val'Source

updates :: ISignal era val -> DSignal era (Diff val)Source

Conversion

toSSignal :: Incremental val => ISignal era val -> SSignal era valSource

Composition

const :: Incremental val => val -> ISignal era valSource

map :: (Incremental val, Incremental val') => (val -> (val', state)) -> (Diff val -> state -> (Diff val', state)) -> ISignal era val -> ISignal era val'Source

combine :: (Incremental val1, Incremental val2, Incremental val') => (val1 -> val2 -> (val', state)) -> (Diff val1 -> state -> (Diff val', state)) -> (Diff val2 -> state -> (Diff val', state)) -> ISignal era val1 -> ISignal era val2 -> ISignal era val'Source

Connectors

consumer :: (val -> IO ()) -> (Diff val -> IO ()) -> Consumer ISignal valSource