Affiliation:
1. Vrije Universiteit Brussel, Brussels, Belgium
Abstract
Reactive programming has recently gained popularity as a paradigm that is well-suited for developing event-driven and interactive applications. It facilitates the development of such applications by providing abstractions to express time-varying values and automatically managing dependencies between such values. A number of approaches have been recently proposed embedded in various languages such as Haskell, Scheme, JavaScript, Java, .NET, etc. This survey describes and provides a taxonomy of existing reactive programming approaches along six axes: representation of time-varying values, evaluation model, lifting operations, multidirectionality, glitch avoidance, and support for distribution. From this taxonomy, we observe that there are still open challenges in the field of reactive programming. For instance, multidirectionality is supported only by a small number of languages, which do not automatically track dependencies between time-varying values. Similarly, glitch avoidance, which is subtle in reactive programs, cannot be ensured in distributed reactive programs using the current techniques.
Funder
MobiCrant project in the context of the InnovIris
Fonds Wetenschappelijk Onderzoek
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Cited by
196 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Hypermedia Controls: Feral to Formal;Proceedings of the 35th ACM Conference on Hypertext and Social Media;2024-09-10
2. Fostering scientific methods in simulations through symbolic regressions;Physics Education;2024-05-01
3. Reactamole: functional reactive molecular programming;Natural Computing;2024-04-19
4. A Virtual Machine for Higher-Order Reactors;Companion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming;2024-03-11
5. Switching Mechanism for Update Timing of Time-Varying Values in an FRP Language for Small-Scale Embedded Systems;Proceedings of the 2024 13th International Conference on Software and Computer Applications;2024-02