Javascript reactive programming and streams
January 5, 2016 — January 5, 2017
computers are awful
concurrency hell
javascript
UI
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 coroutine 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 Elm
A whole language that somehow interoperates?
3 interoperation
Fantasy land is a specification for algebraic structures in Javascript 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.