Reactive (Dataflow) Programming in Java and Clojure with Quasar and Pulsar
blog.paralleluniverse.co
blog.paralleluniverse.co
Same goes for Akka. I don't know if it supports reactive programming (despite the use of the word "reactive" in the materials you linked to), but none of the links you supplied suggests that it does.
But event propagation ''is'' a way to transfer change throughout a system built on data flows, so it fits the definition of the reactive parading. In doing so, the manifesto could be seen as a particular way to realize RP, a subset of a larger concept.
Am I missing something? Why do you consider they don't have anything in common but the name?
Both are nice, but they're two different things.
I'll admit I'm confused by the relationship between FRP, RP and Akka's brand of RP. The only thing I'm certain is that Akka's RP != FRP. The assignments from the course were full of side-effects, mutability and global variables.
"Reactive" is quite vague. The earliest programming systems labelled "reactive" were meant for expressing low level real time control behavior, but these days the word could just as well be related to UI or enterprise/web data processing (note, that the above projects don't really help with UI, they are more for the latter!).
[1] http://download.java.net/jdk8/docs/api/java/util/concurrent/...
https://github.com/playframework/playframework/tree/master/f...
Again, don't know the state of pulling it apart but earlier versions were tied to Play in name only.
for(;;)
a.send(b.receive() + c.receive();
Or functionally: zip(b, c, (x, y) -> x + y);
RxJava also lets you do the latter.
I see that it could also be achieved with a combination of Iteratees and Enumeratees in the code you linked to, using an approach similar to RxJava's, only more complicated and with fewer features.Edit:
Conal adds a notion of future values in his push/pull work, but I wonder if it is the same thing as being discussed here, as composable futures were around long before FRP: