reactive-0.11.5: Push-pull functional reactive programming




Tools for making Reactive adapters for imperative ("legacy") libraries.



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

adaptE :: Sink (Event Action)Source

Execute an action-valued event.

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.