buster-network

Almost but not quite entirely unlike FRP

http://vis.renci.org/jeff/buster

Latest on Hackage:1.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Jeff Heard
Maintained by Jeff Heard

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.