Active Expressions: Basic Building Blocks for Reactive Programming
Stefan Ramson (Hasso Plattner Institute, Germany), Robert Hirschfeld, (Hasso Plattner Institute, Germany)

TL;DR
This paper introduces active expressions as a reusable primitive for change detection in reactive programming, simplifying implementation and fostering innovation in reactive software systems.
Contribution
It identifies a common change detection mechanism in state-based reactive concepts and proposes active expressions as a generic primitive to improve reusability and expressiveness.
Findings
Active expressions successfully re-implement existing reactive concepts.
They simplify change detection implementation.
They enhance expressiveness and reasoning in reactive programming.
Abstract
Modern software development without reactive programming is hard to imagine. Reactive programming favors a wide class of contemporary software systems that respond to user input, network messages, and other events. While reactive programming is an active field of research, the implementation of reactive concepts remains challenging. In particular, change detection represents a hard but inevitable necessity when implementing reactive concepts. Typically, change detection mechanisms are not intended for reuse but are tightly coupled to the particular change resolution mechanism. As a result, developers often have to re-implement similar abstractions. A reusable primitive for change detection is still missing. To find a suitable primitive, we identify commonalities in existing reactive concepts. We discover a class of reactive concepts, state-based reactive concepts. All state-based…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
