ROAP: Reactive Observable Async-iterable Programming
In many Functional Reactive Programming (FRP) systems, new developers confront the cognitive learning curve of the FRP standard library and vocabulary. FRP systems can be challenging to troubleshoot, as compositions of closures are the primary building block -- providing little surface area for debugging with standard tools.
Direct expression builds upon the existing know-how of many developers and provides surface area for debugging. Setting aside the purity of FRP, ROAP embraces operating in a world of state -- and therefore side-effects. State is inherent in async systems: timing, data stores, UIs, and network operations.
- Python's async comprehensions.
- "Elm: Concurrent FRP for Functional GUIs" by Evan Czaplicki
- Bacon.js and RxJS and Kefir.js
- D3 and Vega
- ObservableHQ and spreadsheets
- Minecraft redstone and Space Chem and Factorio