wow, roshaskell is pretty cool, thanks for that Geoff. I’m sure Brian would remind us that if you want functional-style ROS, roslisp has been around since basically the beginning. But uh, I like the type system of Haskell a lot because talking about monads makes me feel cool.
ROS was developed before the React community came about but the frameworks seem to have come out of similar needs. It appears that the community articulated their design principles in a nice application-inspecific way: http://www.reactivemanifesto.org/
The stream abstraction in the React paradigm is great. It’s basically the abstraction of TF that I talk about sometimes. An API for reaching backwards in time across information streams is super useful and a repeated pattern in robotics and controls.
For anyone thinking about ROS 2, I saw a presentation one time where Sumant, an RTI engineer, talked about using RxCpp as an intra-process communication mechanism to be used alongside DDS. Cool ideas all around.