Reactive Observable Async-iterable Programming

Usage no npm install needed!

<script type="module">
  import roap from '';


ROAP: Reactive Observable Async-iterable Programming

ROAP is reactive programming in a hybrid push/pull model built with JavaScript's async iterator protocol. By writing async generators, developers directly express intention and can leverage standard debugging tools -- a superior developer experience.

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.

Inspired By