Towards Introducing Asynchronous Tasks to an FRP Language for Small-Scale Embedded Systems
Emfrp is a functional reactive programming language designed for small embedded systems. By imposing certain restrictions on the language mechanism, the language guarantees the termination of the update process for each time-varying value and enables static determination of the amount of memory required for execution. This allows Emfrp programs to run safely even in resource-constrained execution environments. However, the abovementioned restrictions make it difficult to write time-consuming operations (heavy tasks) such as graph structure construction and exploration based on external data. Moreover, since Emfrp updates time-varying values synchronously, a naive implementation of such heavy tasks using external function calls will result in a slow response time to input. Some existing programming languages provide asynchronous processing mechanisms to ensure descriptiveness and responsiveness for heavy tasks. In this study, we propose a method to introduce heavy tasks into reactive programs naturally by introducing language mechanisms equivalent to asynchronous processing mechanisms, such as future and promise, into Emfrp. In this paper, we first discuss the problems with a naive implementation of heavy tasks in Emfrp, then explain the proposed method based on an example, and discuss the language runtime implementation.
Wed 7 DecDisplayed time zone: Auckland, Wellington change
10:30 - 12:00 | |||
10:30 30mTalk | Towards Introducing Asynchronous Tasks to an FRP Language for Small-Scale Embedded Systems REBLS Akihiko Yokoyama Tokyo Institute of Technology, Sosuke Moriguchi Tokyo Institute of Technology, Takuo Watanabe Tokyo Institute of Technology DOI Pre-print | ||
11:00 30mTalk | Semantics of RxJSPre-recorded REBLS DOI | ||
11:30 30mTalk | About Combining Functional Reactive Programming and Replicated Data TypesPre-recorded REBLS File Attached |