reactive-0.9.1: Simple foundation for functional reactive programmingSource codeContentsIndex
FRP.Reactive.LegacyAdapters
Stabilityexperimental
Maintainerconal@conal.net
Description
Tools for making Reactive adapters for imperative ("legacy") libraries.
Synopsis
type Sink a = a -> Action
type Action = IO ()
data Clock t
makeClock :: IO (Clock TimeT)
cGetTime :: Clock t -> IO t
adaptE :: Sink (Event Action)
makeEvent :: Clock TimeT -> MkFed (Event a) a
mkUpdater :: IO TimeT -> Behavior Action -> IO Action
Documentation
type Sink a = a -> ActionSource
Value consumer
type Action = IO ()Source
Convenient alias for dropping parentheses.
data Clock t Source

Waits a specified duration and then execute an action type Delay t = t -> forall a. IO a -> IO a

Waits until just after a specified time and then execute an action, passing in the actual time. type Schedule t = t -> Sink (Sink t)

A serializing clock. Can (a) produce a time and (b) serialize an action.

makeClock :: IO (Clock TimeT)Source
Make a clock, given a way to delay actions. For instance, the delay could be sleepThen in thread-safe situations, but could also involve a GUI toolkit wake-up event.
cGetTime :: Clock t -> IO tSource
adaptE :: Sink (Event Action)Source
Execute an action-valued event.
makeEvent :: Clock TimeT -> MkFed (Event a) aSource
Make a new event and a sink that writes to it. Uses the given clock to serialize and time-stamp.
mkUpdater :: IO TimeT -> Behavior Action -> IO ActionSource
Make an action to be executed regularly, given a time-source and a action-behavior. The generated action is optimized to do almost no work during known-constant phases of the given behavior.
Produced by Haddock version 2.3.0