Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- type Time = Double
- type DTime = Double
- type SF m = MSF (ClockInfo m)
- type ClockInfo m = ReaderT DTime m
- identity :: Monad m => SF m a a
- constant :: Monad m => b -> SF m a b
- time :: Monad m => SF m () Time
- integral :: (Monad m, VectorSpace a s) => SF m a a
- integralFrom :: (Monad m, VectorSpace a s) => a -> SF m a a
- derivative :: (Monad m, VectorSpace a s) => SF m a a
- derivativeFrom :: (Monad m, VectorSpace a s) => a -> SF m a a
- data Event a
- noEvent :: Event a
- event :: a -> (b -> a) -> Event b -> a
- fromEvent :: Event t -> t
- isEvent :: Event t -> Bool
- tag :: Event a -> b -> Event b
- mergeBy :: (a -> a -> a) -> Event a -> Event a -> Event a
- lMerge :: Event a -> Event a -> Event a
- eventToMaybe :: Event a -> Maybe a
- maybeToEvent :: Maybe a -> Event a
- boolToEvent :: Bool -> Event ()
- edge :: Monad m => SF m Bool (Event ())
- edgeBy :: Monad m => (a -> a -> Maybe b) -> a -> SF m a (Event b)
- edgeFrom :: Monad m => Bool -> SF m Bool (Event ())
- notYet :: Monad m => SF m (Event a) (Event a)
- hold :: Monad m => a -> SF m (Event a) a
- loopPre :: Monad m => c -> SF m (a, c) (b, c) -> SF m a b
- after :: Monad m => Time -> b -> SF m a (Event b)
- occasionally :: MonadRandom m => Time -> b -> SF m a (Event b)
- (-->) :: Monad m => b -> SF m a b -> SF m a b
- accumHoldBy :: Monad m => (b -> a -> b) -> b -> SF m (Event a) b
- dpSwitchB :: (Monad m, Traversable col) => col (SF m a b) -> SF m (a, col b) (Event c) -> (col (SF m a b) -> c -> SF m a (col b)) -> SF m a (col b)
- dSwitch :: Monad m => SF m a (b, Event c) -> (c -> SF m a b) -> SF m a b
- switch :: Monad m => SF m a (b, Event c) -> (c -> SF m a b) -> SF m a b
- parC :: Monad m => SF m a b -> SF m [a] [b]
- parC' :: Monad m => [SF m a b] -> SF m [a] [b]
- iterFrom :: Monad m => (a -> a -> DTime -> b -> b) -> b -> SF m a b
- reactimate :: Monad m => m a -> (Bool -> m (DTime, Maybe a)) -> (Bool -> b -> m Bool) -> SF Identity a b -> m ()
- dup :: t -> (t, t)
Documentation
Continuous time
integralFrom :: (Monad m, VectorSpace a s) => a -> SF m a a Source #
derivative :: (Monad m, VectorSpace a s) => SF m a a Source #
derivativeFrom :: (Monad m, VectorSpace a s) => a -> SF m a a Source #
Events
Relation to other types
eventToMaybe :: Event a -> Maybe a Source #
maybeToEvent :: Maybe a -> Event a Source #
boolToEvent :: Bool -> Event () Source #
Hybrid SF m combinators
notYet :: Monad m => SF m (Event a) (Event a) Source #
Suppression of initial (at local time 0) event.
:: MonadRandom m | |
=> Time | The time q after which the event should be produced on average |
-> b | Value to produce at time of event |
-> SF m a (Event b) |
dpSwitchB :: (Monad m, Traversable col) => col (SF m a b) -> SF m (a, col b) (Event c) -> (col (SF m a b) -> c -> SF m a (col b)) -> SF m a (col b) Source #
reactimate :: Monad m => m a -> (Bool -> m (DTime, Maybe a)) -> (Bool -> b -> m Bool) -> SF Identity a b -> m () Source #