reactive-0.11.5: Push-pull functional reactive programming

Stabilityexperimental
Maintainerconal@conal.net
Safe HaskellSafe-Infered

FRP.Reactive.LegacyAdapters

Description

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

Synopsis

Documentation

type Sink a = a -> Action

Value consumer

type Action = IO ()

Convenient alias for dropping parentheses.

data Clock t

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)

Make a clock

cGetTime :: Clock t -> IO t

adaptE :: Sink (Event Action)

Execute an action-valued event.

mkUpdater :: IO TimeT -> Behavior Action -> IO Action

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.