sodium-0.10.0.1: Sodium Reactive Programming (FRP) System

Safe HaskellNone

FRP.Sodium.Internal

Synopsis

Documentation

listenTrans :: Event a -> (a -> Reactive ()) -> Reactive (IO ())Source

Variant of listen that allows you to initiate more activity in the current transaction. Useful for implementing new primitives.

schedulePrioritized :: Maybe (MVar Node) -> Reactive () -> Reactive ()Source

Queue the specified atomic to run at the end of the priority 2 queue

data Listen a Source

Constructors

Listen 

Fields

runListen_ :: Maybe (MVar Node) -> Bool -> (a -> Reactive ()) -> Reactive (IO ())
 

getListen :: Event a -> Reactive (Listen a)Source

Unwrap an event's listener machinery.

linkedListen :: Event a -> Maybe (MVar Node) -> Bool -> (a -> Reactive ()) -> Reactive (IO ())Source

Listen for firings of this event. The returned IO () is an IO action that unregisters the listener. This is the observer pattern.

newEventLinked :: Dep -> IO (Event a, a -> Reactive (), MVar Node)Source

Returns an event, and a push action for pushing a value into the event.

newEvent :: Reactive (Event a, a -> Reactive ())Source

Returns an event, and a push action for pushing a value into the event.

newEventImpl :: forall p a. IO (Listen a, a -> Reactive (), MVar Node)Source

Returns a Listen for registering listeners, and a push action for pushing a value into the event.

finalizeEvent :: Event a -> IO () -> Event aSource

Add a finalizer to an event.

finalizeListen :: Listen a -> IO () -> IO (Listen a)Source

Add a finalizer to a listener.

addCleanup_Listen :: Unlistener -> Listen a -> Reactive (Listen a)Source

Cause the things listened to with later to be unlistened when the specified listener is not referenced any more.

data Sample a Source

Constructors

Sample 

Fields

unSample :: IO a
 
sDep :: Dep
 

addCleanup_Sample :: Unlistener -> Sample a -> IO (Sample a)Source

Cause the things listened to with later to be unlistened when the specified sample is not referenced any more.

later :: Reactive (IO ()) -> Reactive UnlistenerSource

Perform a listen later so we can tolerate lazy loops. Returns an Unlistener that can be attached to an event with addCleanup_Listen.

dep :: a -> DepSource