W      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV Safe-Inferred(A time-varying value, British spelling. ?A monad for transactional reactive operations. Execute it from W using . @A stream of events. The individual firings of events are called 'event occurrences'. )A time-varying value, American spelling. Execute the specified / within a new transaction, blocking the caller P until all resulting processing is complete and all callbacks have been called. E This operation is thread-safe, so it may be called from any thread. State changes to  ? values occur after processing of the transaction is complete. HReturns an event, and a push action for pushing a value into the event. /Listen for firings of this event. The returned IO () is an IO action > that unregisters the listener. This is the observer pattern. To listen to a  use listen (values b) handler An event that never fires. .Merge two streams of events of the same type. DIn the case where two event occurrences are simultaneous (i.e. both B within the same transaction), both will be delivered in the same E transaction. If the event firings are ordered for some reason, then D their ordering is retained. In many common cases the ordering will  be undefined. GUnwrap Just values, and discard event occurrences with Nothing values. FCreate a behavior with the specified initial value, that gets updated - by the values coming through the event. The ' current value' of the behavior # is notionally the value as it was 'at the start of the transaction'. L That is, state updates caused by event firings get processed at the end of  the transaction. :An event that gives the updates for the behavior. It doesn't do any equality % comparison as the name might imply. GAn event that is guaranteed to fire once when you listen to it, giving @ the current value of the behavior, and thereafter behaves like  , ' firing for each update to the behavior' s value. CSample the behavior at the time of the event firing. Note that the ' current value'  of the behavior that':s sampled is the value as at the start of the transaction I before any state changes of the current transaction are applied through  s. OUnwrap an event inside a behavior to give a time-varying event implementation. ZUnwrap a behavior inside another behavior to give a time-varying behavior implementation. Execute the specified  action inside an event. (Obtain the current value of a behavior. If there'Bs more than one firing in a single transaction, combine them into - one using the specified combining function. IIf the event firings are ordered, then the first will appear at the left 9 input of the combining function. In most common cases it's best not to K make any assumptions about the ordering, and the combining function would  ideally be commutative. ;Throw away all event occurrences except for the first one.  Create a new / along with an action to push changes into it.  American spelling.  Create a new / along with an action to push changes into it.  British spelling. EMerge two streams of events of the same type, combining simultaneous  event occurrences. HIn the case where multiple event occurrences are simultaneous (i.e. all I within the same transaction), they are combined using the same logic as  . BOnly keep event occurrences for which the predicate returns true. 2Variant of snapshotWith that throws away the event'!s value and captures the behavior's. 4Let event occurrences through only when the behavior's value is True.  Note that the behavior'6s value is as it was at the start of the transaction, P that is, no state changes from the current transaction are taken into account. QTransform an event with a generalized state loop (a mealy machine). The function S is passed the input and the old state and returns the new state and output value. STransform a behavior with a generalized state loop (a mealy machine). The function S is passed the input and the old state and returns the new state and output value. 3Accumulate state changes given in the input event. [Count event occurrences, giving a behavior that starts with 0 before the first occurrence.  Initial behavior value Initial behavior value       None-((A time-varying value, British spelling. ))A time-varying value, American spelling. *@A stream of events. The individual firings of events are called 'event occurrences'. +?A monad for transactional reactive operations. Execute it from W using .. ,Phantom type for use with  type class. .Execute the specified +/ within a new transaction, blocking the caller P until all resulting processing is complete and all callbacks have been called. E This operation is thread-safe, so it may be called from any thread. State changes to 4? values occur after processing of the transaction is complete. /HReturns an event, and a push action for pushing a value into the event. 0/Listen for firings of this event. The returned IO () is an IO action > that unregisters the listener. This is the observer pattern. To listen to a ) use listen (values b) handler 1An event that never fires. 2.Merge two streams of events of the same type. DIn the case where two event occurrences are simultaneous (i.e. both B within the same transaction), both will be delivered in the same E transaction. If the event firings are ordered for some reason, then D their ordering is retained. In many common cases the ordering will  be undefined. 3GUnwrap Just values, and discard event occurrences with Nothing values. 4FCreate a behavior with the specified initial value, that gets updated - by the values coming through the event. The ' current value' of the behavior # is notionally the value as it was 'at the start of the transaction'. L That is, state updates caused by event firings get processed at the end of  the transaction. 5:An event that gives the updates for the behavior. It doesn't do any equality % comparison as the name might imply. 6GAn event that is guaranteed to fire once when you listen to it, giving @ the current value of the behavior, and thereafter behaves like 5, ' firing for each update to the behavior' s value. 7CSample the behavior at the time of the event firing. Note that the ' current value'  of the behavior that':s sampled is the value as at the start of the transaction I before any state changes of the current transaction are applied through 4s. 8OUnwrap an event inside a behavior to give a time-varying event implementation. 9ZUnwrap a behavior inside another behavior to give a time-varying behavior implementation. :Execute the specified + action inside an event. ;(Obtain the current value of a behavior. <If there'Bs more than one firing in a single transaction, combine them into - one using the specified combining function. IIf the event firings are ordered, then the first will appear at the left 9 input of the combining function. In most common cases it's best not to K make any assumptions about the ordering, and the combining function would  ideally be commutative. =;Throw away all event occurrences except for the first one. > Create a new )/ along with an action to push changes into it.  American spelling. ? Create a new )/ along with an action to push changes into it.  British spelling. @EMerge two streams of events of the same type, combining simultaneous  event occurrences. HIn the case where multiple event occurrences are simultaneous (i.e. all D within the same transaction), they are combined using the supplied D function. The output event is guaranteed not to have more than one # event occurrence per transaction. HThe combine function should be commutative, because simultaneous events , should be considered to be order-agnostic. A=Only keep event occurrences for which the predicate is true. B Variant of 7 that throws away the event'!s value and captures the behavior's. C4Let event occurrences through only when the behavior's value is True.  Note that the behavior'6s value is as it was at the start of the transaction, P that is, no state changes from the current transaction are taken into account. DQTransform an event with a generalized state loop (a mealy machine). The function S is passed the input and the old state and returns the new state and output value. ESTransform a behavior with a generalized state loop (a mealy machine). The function S is passed the input and the old state and returns the new state and output value. F3Accumulate state changes given in the input event. G[Count event occurrences, giving a behavior that starts with 0 before the first occurrence. XEQueue the specified atomic to run at the end of the priority 1 queue KUnwrap an event's listener machinery. L/Listen for firings of this event. The returned IO () is an IO action > that unregisters the listener. This is the observer pattern. M Variant of 0: that allows you to initiate more activity in the current 6 transaction. Useful for implementing new primitives. N Returns a ": for registering listeners, and a push action for pushing  a value into the event. OHReturns an event, and a push action for pushing a value into the event. PAdd a finalizer to an event. QAdd a finalizer to a listener. YAdd a finalizer to a Reactive. RListen to an input event/behavior and return an   that can be # attached to an output event using S. SHCause the things listened to with unlistenize to be unlistened when the 0 specified listener is not referenced any more. ZEListen to the value of this behavior with an initial callback giving I the current value. Can get multiple values per transaction, the last of ; which is considered valid. You would normally want to use  listenValue, * which removes the extra unwanted values. UEQueue the specified atomic to run at the end of the priority 2 queue V Variant of  listenValue: that allows you to initiate more activity in the current 6 transaction. Useful for implementing new primitives. z [\]^_!`abcdefgh"#$ijklmnopqrstuvwxyz{|}~%&'()*+,-./0123456789:;<=>Initial behavior value ?Initial behavior value @ABCDEFGHXIJKLMNOPQYRSTZUVx [\]^_!`abcdefgh"#$ijklmnopqrstuvwxyz{|}~%&'()*+,-./0123456789:;<=>?@ABCDEFGHXIJKLMNOPQYRSTZUV[ [\]^_!`abcdefgh"#$ijklmnopqrstuvwxyz{|}~%&'()*+,-./0123456789:;<=>?@ABCDEFGHXIJKLMNOPQYRSTZUVNone !"#$%&'-/HIJKLMNOPQRSTUVMVUI"#$KJL!O/NPQH S%&'-TRNone()*+,./0123456789:;<=>?@ABCDEFG,+./>?0*)(123456789:;<@ABCDEFG=      !"#$%&''())* +,    !"#$ -./0123456789:;<=>?@%AABC&DEFGGHIJKKLMNNOOPQRSTTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxy z{| sodium-0.6FRP.Sodium.ContextFRP.Sodium.Internal FRP.SodiumFRP.Sodium.Plain BehaviourContextReactiveEventBehaviorsync ioReactivenewEventlistennevermerge filterJustholdchangesvalues snapshotWithswitchEswitchexecutesamplecoalesceonce newBehavior newBehaviour mergeWithfilterEsnapshotgatecollectEcollectaccumcount UnlistenerNodeListen runListen_Sample unSample_PlainunSample scheduleLast runListen getListen linkedListen listenTrans newEventImplnewEventLinked finalizeEventfinalizeListen unlistenizeaddCleanup_ListenaddCleanup_SampleschedulePrioritizedlistenValueTransghc-prim GHC.TypesIO scheduleEarlyfinalizeSamplelistenValueRaw BehaviorState bsCurrentbsUpdatenoIDnoRank noListenersObserverobNextID obListeners obFirings PartitionpaLock paNextNodeIDNodeID ReactiveStateasQueue1asQueue2asFinalID PriorityQueue pqNextSeqpqDirtypqQueuepqDataSequencePriorityQueueable priorityOf modifyMVar modifyMVar_putMVar partitionnewPriorityQueuepushPriorityQueuedirtyPriorityQueuepopPriorityQueue unReactivenewNodewraptouchlinkNodeensureBiggerThan unlinkNodeconstantdirtyPrioritizedlastFiringOnlyeventify$fApplicativeBehavior$fFunctorBehavior$fFunctorEvent$fMonadFixReactive$fMonadReactive$fApplicativeReactive$fFunctorReactive$fPriorityQueueableMaybe$fContextPlain getListenRaw evCacheRefunderlyingEvent behSample