Copyright | (c) 2015 Rongcui Dong |
---|---|
License | BSD3 |
Maintainer | Rongcui Dong <karl_1702@188.com> |
Safe Haskell | None |
Language | Haskell2010 |
- sample :: Monad m => Signal s m (Bool, a) a
- snapshot :: Monad m => Signal s m (Bool, a) a
- integrateM :: (Monad m, Monoid b, HasTime t s) => b -> (s -> a -> b) -> Signal s m a b
- integrate :: (Monad m, Num a, HasTime t s) => a -> (s -> a -> a) -> Signal s m a a
- wait :: (HasTime t s, Monad m) => Double -> Signal s m a a
- waitWith :: (HasTime t s, Monad m) => b -> Double -> Signal s m a b
- (<=>) :: Monad m => Maybe b -> Maybe b -> Signal s m Bool b
- unless' :: Monad m => (a -> Bool) -> Signal s m a a
- when' :: Monad m => (a -> Bool) -> Signal s m a a
Documentation
sample :: Monad m => Signal s m (Bool, a) a Source
Takes a sample of second input when the first input becomes True. First snapshot taken at local time 0, i.e. on construction
:: (Monad m, Monoid b, HasTime t s) | |
=> b | Initial state |
-> (s -> a -> b) | The model, such as dX. |
-> Signal s m a b |
Make an integration signal from a function that models the chage
A numerical integration signal.
wait :: (HasTime t s, Monad m) => Double -> Signal s m a a Source
Acts as an identity signal for a certain time, then inhibits
waitWith :: (HasTime t s, Monad m) => b -> Double -> Signal s m a b Source
Wait with a constant output
(<=>) :: Monad m => Maybe b -> Maybe b -> Signal s m Bool b infix 3 Source
A signal that outputs left side when input is True, and right side when input is False
A signal that acts like identity but inhibits when input satisfies condition.