Rhine: FRP with type-level clocks

Author:

Bärenz Manuel1,Perez Ivan2

Affiliation:

1. University of Vienna, Austria

2. National Institute of Aerospace, USA

Abstract

Processing data at different rates is generally a hard problem in reactive programming. Buffering problems, lags, and concurrency issues often occur. Many of these problems are clock errors , where data at different rates is combined incorrectly. Techniques to avoid clock errors, such as type-level clocks and deterministic scheduling, exist in the field of synchronous programming, but are not implemented in general-purpose languages like Haskell. Rhine is a clock-safe library for synchronous and asynchronous Functional Reactive Programming (FRP). It separates the aspects of clocking, scheduling and resampling from each other, and ensures clock-safety at the type level. Concurrent communication is encapsulated safely. Diverse reactive subsystems can be combined in a coherent, declarative data-flow framework, while correct interoperability of data at different rates is guaranteed by type-level clocks. This provides a general-purpose framework that simplifies multi-rate FRP systems and can be used for game development, media applications, GUIs and embedded systems, through a flexible API with many reusable components.

Funder

NASA

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference31 articles.

1. Heinrich Apfelmus. 2011. Reactive-banana. https://github.com/ HeinrichApfelmus/reactive-banana . Heinrich Apfelmus. 2011. Reactive-banana. https://github.com/ HeinrichApfelmus/reactive-banana .

2. C?aSH: Structural Descriptions of Synchronous Hardware Using Haskell

3. Albert Benveniste Paul Le Guernic and Christian Jacquemot. 1991. Synchronous programming with events and relations: the SIGNAL language and its semantics. Science of computer programming 16 2 (1991) 103–149. 10.1016/0167-6423(91)90001-E Albert Benveniste Paul Le Guernic and Christian Jacquemot. 1991. Synchronous programming with events and relations: the SIGNAL language and its semantics. Science of computer programming 16 2 (1991) 103–149. 10.1016/0167-6423(91)90001-E

4. Stephen Blackheath. 2012. Sodium. https://github.com/SodiumFRP/ sodium . Stephen Blackheath. 2012. Sodium. https://github.com/SodiumFRP/ sodium .

5. Zélus

Cited by 2 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. 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

2. Semantics of RxJS;Proceedings of the 9th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems;2022-11-29

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3