The reactive package

Reactive is a simple foundation for programming reactive systems
functionally. Like Fran/FRP, it has a notions of (reactive) behaviors and
events. Like DataDriven, Reactive has a data-driven implementation.
The main difference between Reactive and DataDriven is that Reactive
builds on functional "futures" (using threading), while DataDriven
builds on continuation-based computations.

Warning: executables using this library must be built with
-threaded. Otherwise, reactions will be delayed significantly.