On Mon, Jun 20, 2011 at 7:45 AM, Richard Senington <sc06r2s@leeds.ac.uk> wrote:
I have recently become interested in Dataflow programming and how it related to functional languages.
I am wondering if the community has any advice on reading matter or other directions to look at.
So far I have been looking through the FRP libraries, using Haskell functions with lazy lists for co-routines and
the Essence of Dataflow Programming by Uustalu and Vene where they propose using co-monads.
It looks as though Iteratees are also relevant but I have not got round to looking at them in detail yet.
Have I missed anything?
Arrows are a useful model for dataflow programming. But several FRP models are arrowized, so you might already have observed this. Which FRP models have you looked at? (there are several)
I'm developing a model for reactive dataflows in open distributed systems, called reactive demand programming (RDP). It's basically distributed FRP with carefully constrained side-effects and signals that model disruption. The effects model enforces spatial idempotence and commutativity, which allows developers to perform refactoring and abstraction similar to that in a pure functional model. That signals model disruption allows 'open' composition and extension (e.g. runtime plugins). RDP is more composable than FRP because client-server relationships can be captured as regular RDP behaviors.
RDP isn't ready for release, yet, but you can read a bit more at my blog:
Regards,
David Barbour