[Haskell-cafe] ANN: Buster 0.99.1, a library for application orchestration that is not FRP

Jeff Heard jefferson.r.heard at gmail.com
Thu Apr 2 09:05:15 EDT 2009


Read more about it on its webpage: http://vs.renci.org/jeff/buster

Yes, it’s to solve a particular problem.  And yes, this is a rough
draft of an explanation of how it works.  I’ve not even really
solidified the vocabulary yet, but I have this module which couches a
large, abstract, interactive (both with the user and the system),
multicomponent application in terms of a bus, inputs, behaviours, and
events.

    * Time is continuous and infinite.
    * An event is a static, discrete item associated with a particular time.
    * The bus is the discrete view of event in time at an instant.
    * A widget is an IO action that assigns events to a particular
time based only upon sampling the outside world (other events and
behaviours are irrelevant to it).  e.g. a Gtk Button is a widget, a
readable network socket is an widget, the mouse is an widget, the
keyboard is an widget, a multitouch gesture engine is a widget.
    * A behaviour is a continuous item — it exists for the entire
program and for all times — which maps events on the bus to other
events on the bus.  It is an IO action as well — where widgets only
sample the outside world and are in a sense read only, behaviours
encapsulate reading and writing.


More information about the Haskell-Cafe mailing list