dunai-0.5.2: Generalised reactive framework supporting classic, arrowized and monadic FRP.

Safe HaskellNone




Sometimes it is beneficial to give control to an external main loop, for example OpenGL or a hardware-clocked audio server like JACK. This module makes Dunai compatible with external main loops.



type ReactHandle m = IORef (MSF m () ()) Source #

A storage for the current state of an MSF. The MSF may not require input or produce output data, all such data must be handled through side effects (such as wormholes).

reactInit :: MonadIO m => MSF m () () -> m (ReactHandle m) Source #

Needs to be called before the external main loop is dispatched.

react :: MonadIO m => ReactHandle m -> m () Source #

The callback that needs to be called by the external loop at every cycle.