Safe Haskell | None |
---|---|
Language | Haskell98 |
- data ISignal era val
- class Semigroup (Diff val) => Incremental val where
- data Diff val :: *
- type ValidationState val :: *
- newtype Monolithic val = Monolithic val
- construct :: Incremental val => val -> DSignal era (Diff val) -> ISignal era val
- withInit :: Signal signal => ISignal era val -> (val -> signal era val') -> signal era val'
- updates :: ISignal era val -> DSignal era (Diff val)
- toSSignal :: Incremental val => ISignal era val -> SSignal era val
- monolithicFromSSignal :: SSignal era val -> ISignal era (Monolithic val)
- monolithicToSSignal :: ISignal era (Monolithic val) -> SSignal era val
- const :: Incremental val => val -> ISignal era val
- map :: (Incremental val, Incremental val') => (val -> (val', state)) -> (Diff val -> state -> (Diff val', state)) -> ISignal era val -> ISignal era val'
- 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'
- consumer :: (val -> IO ()) -> (Diff val -> IO ()) -> Consumer ISignal val
Incremental signal type
class Semigroup (Diff val) => Incremental val where Source #
patch :: val -> Diff val -> val Source #
validationInit :: val -> ValidationState val Source #
validationStep :: Diff val -> ValidationState val -> Maybe (ValidationState val) Source #
Incremental (Monolithic val) Source # | |
Monolithic values
newtype Monolithic val Source #
Monolithic val |
Semigroup (Diff (Monolithic val)) Source # | |
Incremental (Monolithic val) Source # | |
data Diff (Monolithic val) Source # | |
type ValidationState (Monolithic val) Source # | |
Construction
Queries
withInit :: Signal signal => ISignal era val -> (val -> signal era val') -> signal era val' Source #
Conversion
monolithicFromSSignal :: SSignal era val -> ISignal era (Monolithic val) Source #
monolithicToSSignal :: ISignal era (Monolithic val) -> SSignal era val Source #
Composition
const :: Incremental val => val -> ISignal era val Source #
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 #