!     Safe control-eventThe event system must be initilized using initEventSystem. More than one event system can be instantiated at once (eg. for non-interference). control-event5IDs useful for canceling previously scheduled events. control-eventfA value indicating there is no such event. Canceling this event returns True and has no other effect. control-event7The only way to get an event system is to initilize one control-eventXMain thread. Delays till the alarm time then executes any expired events. Asynchronous A exceptions might occur to indicate a new, earlier, alarm time. control-eventKWorker function for expireEvents - the parent simply catches the exceptions control-event>Determines which events are expired, running all their actions control-eventExecute expired events control-event2Runs all provided events (which must have expired) control-eventLAdd an *action* to be performed at *time* by *system*. Returns a unique ID. control-eventAtomic version of addEvent control-event;Cancel an event from the system, returning True on success. control-eventAtomic version of cancelEvent control-event%Returns the number of pending events. control-eventTracks the alarm time and the earliest event. If an earlier event is added the alarm time is updated and TimerReset is thrown to the expireEvent thread control-eventcReturns the time difference in microseconds (potentially returning maxBound <= the real difference)  Safe control-event('addEvent delay action' will delay for delay microseconds then execute action=. An EventId is returned, allowing the event to be canceled. control-event.'delEvent eid' deletes the event and returns  if the event was deleted. If  B is returned then the time elapsed and the action was forked off.None!      !"#!"$%(control-event-1.3-8wzNtD9NLUDFyU6uTpAixD Control.EventControl.Event.RelativeControl.Event.Timeout EventSystemEventIdnoEventinitEventSystemaddEvent addEventSTM cancelEventcancelEventSTM evtSystemSize$fExceptionTimerReset $fEqEventId $fOrdEventId $fShowEventId$fEqTimerReset$fOrdTimerReset$fShowTimerResetdelEvent TimeoutTag addTimeoutaddTimeoutAtomic cancelTimeout expireEvents TimerReset expireEvents' runExpiremonitorExpiredQueue runEvents trackAlarmtimeDiffToMicroSecghc-prim GHC.TypesTrueFalse