control-event- Event scheduling system.



This module uses Haskell concurrency libraries to build an extremely simple event system that should perform better than the Control.Event module but does not provide features such as STM action scheduling.



addEvent :: Int -> IO () -> IO EventIdSource

'addEvent delay action' will delay for delay microseconds then execute action. An EventId is returned, allowing the event to be canceled.

delEvent :: EventId -> IO BoolSource

'delEvent eid' deletes the event and returns True if the event was _probably_ deleted*. If False is returned then the time definately elapsed and the action was forked off.

  • There is a small possibility the delEvent occured after the forkIO but before the signalling MVar was filled, thus causing this uncertainty.