Copyright | (c) Ertugrul Soeylemez 2013 Rongcui Dong 2015 |
---|---|
License | BSD3 |
Maintainer | Rongcui Dong <karl_1702@188.com> |
Safe Haskell | Safe |
Language | Haskell2010 |
- mkEmpty :: Signal s m a b
- mkId :: Signal s m a a
- mkConst :: Maybe b -> Signal s m a b
- mkPure :: Monoid s => (s -> a -> (Maybe b, Signal s m a b)) -> Signal s m a b
- mkGen :: (Monad m, Monoid s) => (s -> a -> m (Maybe b, Signal s m a b)) -> Signal s m a b
- mkPureN :: (a -> (Maybe b, Signal s m a b)) -> Signal s m a b
- mkPure_ :: (a -> Maybe b) -> Signal s m a b
- mkSF :: Monoid s => (s -> a -> (b, Signal s m a b)) -> Signal s m a b
- mkSFN :: (a -> (b, Signal s m a b)) -> Signal s m a b
- mkSF_ :: (a -> b) -> Signal s m a b
- mkSW_ :: b -> (b -> a -> b) -> Signal s m a b
- mkGenN :: Monad m => (a -> m (Maybe b, Signal s m a b)) -> Signal s m a b
- mkGen_ :: Monad m => (a -> m (Maybe b)) -> Signal s m a b
- mkKleisli_ :: Monad m => (a -> m b) -> Signal s m a b
- mkSK_ :: Monad m => b -> (b -> a -> m b) -> Signal s m a b
- mkConstM :: Monad m => m b -> Signal s m a b
- mkActM :: Monad m => m b -> Signal s m a b
- delay :: a -> Signal s m a a
Basic Signals
mkPure :: Monoid s => (s -> a -> (Maybe b, Signal s m a b)) -> Signal s m a b Source #
Make a pure stateful signal from given transition function
mkGen :: (Monad m, Monoid s) => (s -> a -> m (Maybe b, Signal s m a b)) -> Signal s m a b Source #
Make a stateful signal from given (Monadic) transition function
Pure Signals
Signals
mkPureN :: (a -> (Maybe b, Signal s m a b)) -> Signal s m a b Source #
Make a pure stateful signal from given time independant transition function
mkPure_ :: (a -> Maybe b) -> Signal s m a b Source #
Make a pure stateless signal from given function
mkSF :: Monoid s => (s -> a -> (b, Signal s m a b)) -> Signal s m a b Source #
Make a pure stateful signal from given signal function
mkSFN :: (a -> (b, Signal s m a b)) -> Signal s m a b Source #
Make a pure stateful signal from given time independant signal function
mkSW_ :: b -> (b -> a -> b) -> Signal s m a b Source #
Make a stateful wire from chained state transition function. Notice that the output will always be the new value
Monadic Signals
mkGenN :: Monad m => (a -> m (Maybe b, Signal s m a b)) -> Signal s m a b Source #
Make a stateful signal from given (Monadic) time independant transition function
mkGen_ :: Monad m => (a -> m (Maybe b)) -> Signal s m a b Source #
Make a stateless signal from given function
Kleisli Signals
mkKleisli_ :: Monad m => (a -> m b) -> Signal s m a b Source #
Make a stateless signal from Kleisli function
mkSK_ :: Monad m => b -> (b -> a -> m b) -> Signal s m a b Source #
Make a stateful signal from Kleisli function
Special signals
delay :: a -> Signal s m a a Source #
(From netwire
) This wire delays its input signal by the smallest possible
(semantically infinitesimal) amount of time. You can use it when you
want to use feedback (ArrowLoop
): If the user of the feedback
depends on now, delay the value before feeding it back. The
argument value is the replacement signal at the beginning.
- Depends: before now.