Safe Haskell | None |
---|
- data SignalGen a
- data Behavior a
- data Event a
- data Discrete a
- data ExternalEvent a
- newExternalEvent :: IO (ExternalEvent a)
- triggerExternalEvent :: ExternalEvent a -> a -> IO ()
- generatorE :: Event (SignalGen a) -> SignalGen (Event a)
- filterE :: (a -> Bool) -> Event a -> Event a
- stepClockE :: Event ()
- dropStepE :: Event a -> SignalGen (Event a)
- eventFromList :: [[a]] -> SignalGen (Event a)
- scanE :: a -> Event (a -> a) -> SignalGen (Event a)
- mapAccumE :: s -> Event (s -> (s, a)) -> SignalGen (Event a)
- mapAccumEM :: s -> Event (s -> SignalGen (s, a)) -> SignalGen (Event a)
- accumE :: a -> Event (a -> a) -> SignalGen (Event a)
- scanAccumE :: s -> Event (s -> (s, a)) -> SignalGen (Event a)
- scanAccumEM :: s -> Event (s -> SignalGen (s, a)) -> SignalGen (Event a)
- mapMaybeE :: (a -> Maybe b) -> Event a -> Event b
- justE :: Event (Maybe a) -> Event a
- flattenE :: Event [a] -> Event a
- expandE :: Event a -> Event [a]
- externalE :: ExternalEvent a -> SignalGen (Event a)
- takeWhileE :: (a -> Bool) -> Event a -> SignalGen (Event a)
- delayE :: Event a -> SignalGen (Event a)
- withPrevE :: a -> Event a -> SignalGen (Event (a, a))
- dropE :: Int -> Event a -> SignalGen (Event a)
- dropWhileE :: (a -> Bool) -> Event a -> SignalGen (Event a)
- takeE :: Int -> Event a -> SignalGen (Event a)
- partitionEithersE :: Event (Either a b) -> (Event a, Event b)
- leftsE :: Event (Either a b) -> Event a
- rightsE :: Event (Either a b) -> Event b
- joinDD :: Discrete (Discrete a) -> SignalGen (Discrete a)
- joinDE :: Discrete (Event a) -> SignalGen (Event a)
- joinDB :: Discrete (Behavior a) -> SignalGen (Behavior a)
- start :: SignalGen (Behavior a) -> IO (IO a)
- externalB :: IO a -> SignalGen (Behavior a)
- joinB :: Behavior (Behavior a) -> SignalGen (Behavior a)
- delayB :: a -> Behavior a -> SignalGen (Behavior a)
- behaviorFromList :: [a] -> SignalGen (Behavior a)
- networkToList :: Int -> SignalGen (Behavior a) -> IO [a]
- networkToListGC :: Int -> SignalGen (Behavior a) -> IO [a]
- scanD :: a -> Event (a -> a) -> SignalGen (Discrete a)
- changesD :: Discrete a -> Event a
- preservesD :: Discrete a -> SignalGen (Event a)
- delayD :: a -> Discrete a -> SignalGen (Discrete a)
- stepperD :: a -> Event a -> SignalGen (Discrete a)
- eventToBehavior :: Event a -> Behavior [a]
- behaviorToEvent :: Behavior [a] -> Event a
- applyBE :: Behavior (a -> b) -> Event a -> Event b
- discreteToBehavior :: Discrete a -> Behavior a
- class Functor s => TimeFunction s where
- toBehavior :: s a -> Behavior a
- (<@>) :: TimeFunction s => s (a -> b) -> Event a -> Event b
- (<@) :: TimeFunction s => s b -> Event a -> Event b
- data OrderingViolation = OrderingViolation String
Basic types
External events
data ExternalEvent a Source
Push-based asynchronous events.
triggerExternalEvent :: ExternalEvent a -> a -> IO ()Source
Events
stepClockE :: Event ()Source
eventFromList :: [[a]] -> SignalGen (Event a)Source
accumE :: a -> Event (a -> a) -> SignalGen (Event a)Source
Deprecated: accumE has been renamed to scanE
scanAccumE :: s -> Event (s -> (s, a)) -> SignalGen (Event a)Source
Deprecated: scanAccumE has been renamed to mapAccumE
scanAccumEM :: s -> Event (s -> SignalGen (s, a)) -> SignalGen (Event a)Source
Deprecated: scanAccumEM has been renamed to mapAccumEM
externalE :: ExternalEvent a -> SignalGen (Event a)Source
Create a new event that occurs every time the given external event occurs.
delayE :: Event a -> SignalGen (Event a)Source
delayE evt
creates an event whose occurrences at step N
is equal to the ocurrences of evt
at step N-1.
Switchers
Behaviors
behaviorFromList :: [a] -> SignalGen (Behavior a)Source
Discretes
preservesD :: Discrete a -> SignalGen (Event a)Source
Behavior-event functions
eventToBehavior :: Event a -> Behavior [a]Source
behaviorToEvent :: Behavior [a] -> Event aSource
Behavior-discrete functions
discreteToBehavior :: Discrete a -> Behavior aSource
Overloaded functions
class Functor s => TimeFunction s whereSource
toBehavior :: s a -> Behavior aSource
(<@>) :: TimeFunction s => s (a -> b) -> Event a -> Event bSource
(<@) :: TimeFunction s => s b -> Event a -> Event bSource