~/talk

Semantics of RxJS

Talkat REBLS 2022 · on Wednesday, 2022-12-07· [javascript, reactive-programming]
name:Tian Zhao
links:none on file
links:none on file
slides:none on file

Defines a small-step operational semantics for a selected subset of RxJS, modeling runtime as a Heap mapping observables and subscription objects plus an event queue that orders internal vs external events (internal events go to the front). Formalizes operators like switchMap, combineLatest, concat and catchError, shows the real bug where catchError placed outside switchMap kills the whole pipeline and moving it inside fixes it. Implements the semantics with cancelable promise-like threads (asyncM) and exposes a subscription graph for debugging; works but hits timer-precision and operator-coverage limits.

AI-written summary · about

  1. 0:00Intro
  2. 0:17Outline
  3. 0:50Background and motivation
  4. 5:54Model the semantics of RxJS
  5. 6:49Syntax of representative observables
  6. 8:11Syntax of expressions
  7. 9:26Reduction phases
  8. 12:15Event propagation
  9. 16:25Debugging ideas
  10. 16:58Stack trace
  11. 18:03Subscription states
  12. 19:49Runtime Invariants
  13. 20:35implementation
  14. 23:23Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.