Affiliation:
1. Chalmers University of Technology, Sweden
Abstract
We present a new interface for practical Functional Reactive Programming (FRP) that (1) is close in spirit to the original FRP ideas, (2) does not have the original space-leak problems, without using arrows or advanced types, and (3) provides a simple and expressive way for performing IO actions from FRP code. We also provide a denotational semantics for this new interface, and a technique (using Kripke logical relations) for reasoning about which FRP functions may "forget their past", i.e. which functions do not have an inherent space-leak. Finally, we show how we have implemented this interface as a Haskell library called FRPNow.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference21 articles.
1. Heinrich Apfelmus. Reactive banana. Available at: hackage.haskell.org/package/reactive-banana. Heinrich Apfelmus. Reactive banana. Available at: hackage.haskell.org/package/reactive-banana.
2. The Esterel synchronous programming language: design, semantics, implementation
3. LUSTRE: a declarative language for real-time programming
4. Towards a higher-order synchronous data-flow language
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Using Functional Reactive Programming for Robotic Art: An Experience Report;Proceedings of the 12th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design;2024-09-02
2. Asynchronous Reactive Programming with Modal Types in Haskell;Lecture Notes in Computer Science;2023
3. Semantics of RxJS;Proceedings of the 9th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems;2022-11-29
4. Asynchronous monad for reactive IoT programming;Proceedings of the 7th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems;2020-11-15
5. A Timed IO Monad;Practical Aspects of Declarative Languages;2020