Javascript reactive programming and streams

January 5, 2016 — January 6, 2017

computers are awful
concurrency hell
javascript
UI
Figure 1

Stream processing for javascript. This is not rocket science but there were enough options that I needed to make a new notebook just to choose. See also this intro to reactive programming from a javascript perspective.

Question: why are there not more visual pipeline programs for this programming domain? It looks like an obvious fit.

1 libraries

  • Rx.js is the Microsoft one, which I use myself. See rxjs.dev/. It is well documented, unlike its competitors, but often seems over-engineered.
  • highland was popular for a while but seems to be a little less frenetically active
  • kefir also tries to be minimal. See home page
  • of course there are more, why not bacon.js?
  • task.js seems to be a coroutine-like hack for JS generators, by Mozilla
  • Node.js has (maybe?) a front-runner co-routine implementation, node-fibers which might be ok
  • There is a parallel universe system called observablejs which combines some features of FRP and some of javascript visualisation and UI

2 interoperation

  • Fantasy land is a specification for algegraic strucures in Javascipt which happens to provide interoperation between the below libraries

  • transducers.js is an actively developed library of transducers for javascript (source code).

  • The incredibly-similar-and-similarly-named transducers-js also works.