sodium-0.5.0.2: 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.

listenValueTrans :: Behavior a -> (a -> Reactive ()) -> Reactive (IO ())Source

Variant of listenValue 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.

data Node Source

Instances

PriorityQueueable (Maybe (MVar Node)) 

newEventLinked :: 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 unlistenize to be unlistened when the specified listener is not referenced any more.

data Sample a Source

Constructors

Sample 

Fields

unSample_ :: IO (IO a)
 

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

Listen to an input event/behavior and return an Unlistener that can be attached to an output event using addCleanup_Listen.