shiny
htmltools
req()
seq()
on.exit()
observe()
isolate
observeEvent
eventReactive
reactiveTimer()
invalidateLater(ms)
git
If you check the layers of reactive programming:
You won’t find a pile of heuristics, special cases, and hacks
The magic comes from simple concepts combined in consistent ways