The Essence of Reactivity
summary
A Haskell prototype defines generic typeclasses (constrained applicative, time, concatenation and drop) that capture where reactive systems actually differ, and it already instantiates three backends: Yampa: continuous, explicit time, arbitrary values, Copilot: discrete, implicit time, statically bounded history, compiles to hard‑real‑time C (and FPGA), plus Dunai and an almost‑complete Clash backend. Examples include a piecewise counter and a three‑sample smoother; the abstractions map cleanly to each backend and are in use in NASA projects Ogma and Copilot.
AI-written summary · about
chapters (12)
- 0:00Reactivity challenges
- 1:24Functional reactive basics
- 3:54Reactive systems dimensions
- 6:43Unifying reactive abstractions
- 8:30Programming reactive entities
- 12:00Temporal transformations
- 16:19Counter with reactive abstractions
- 18:05Non-causal operations
- 19:50Real-world reactive backends
- 21:15Designing reactive languages
- 22:20Future of reactive systems
- 22:59Q&A
related talks
31mRethinking Reactivity
31mThe Beauty and Elegance of Functional Reactive Animation
39mIntroduction to Reactive Programming with React
28mGo Home (or Skiing) Early: The Joy of Transparent Reactivity
45mFunctional Reactive Programming in Elm
27mReactive Programming Demystified: Drink the Kool-Aid
53mReactive Mythbusters With Reactor
29mWhat is Functional Reactive Programming?
