@hackage buster2.0

Almost but not quite entirely unlike FRP

Buster is best described by the following blog post: http://vis.renci.org/jeff/2009/03/31/almost-but-not-quite-entirely-like-frp/

It is an engine for orchestrating large, complex, and multifaceted applications by couching them in terms of time, events, a bus, behaviours, and widgets. Time is continuous and infininte. Events are discrete and exist for a particular time. The bus is a discrete sample of time made available to behaviours. Behaviours are continuous and exist for all time, but sample time via the bus. They filter Events to determine what is on the bus at future times. Widgets are input-only objects that sample the outside world and assign events to discrete portions of time.

Buster is designed to be flexible, with a flexible event model and the ability to add custom data to events, and designed to be high performance. It is simple to integrate with Gtk while at the same time able to handle other kinds of resources, like files and sockets.