WCTP2016 Talk

Posted on September 21, 2016

CFRP: A Functional Reactive Programming Language for Small-Scale Embedded Systems

Kohei Suzuki, Kanato Nagayama, Kensuke Sawada & Takuo Watanabe
Workshop on Computation: Theory and Practice (WCTP 2016), Cebu, Sep. 21-22, 2016.

Abstract

Functional reactive programming (FRP) is a programming paradigm for reactive systems based on functional abstractions to express time-varying values and events. In this paper, we show that FRP is beneficial for developing software for small-scale embedded systems. For this purpose, we designed and implemented CFRP, a strongly-typed, purely functional language that provides reactive programming facilities. Although its design follows the tradition of previous signal-based FRP languages, our compiler can generate standalone C++ code that can be deployed effectively on resource-constrained microcontrollers. Through an example, we show that CFRP supports a declarative, modular and clean manner of developing small-scale embedded systems.

Keywords: Functional Reactive Programming, Functional Programming Languages, Event Systems, Embedded Systems

Publication

Kohei Suzuki, Kanato Nagayama, Kensuke Sawada & Takuo Watanabe, CFRP: A Functional Reactive Programming Language for Small-Scale Embedded Systems, In Theory and Practice of Computation, Proceedings of Workshop on Computation: Theory and Practice (WCTP2016), World Scientific, pp. 1-13, DOI:10.1142/9789813234079_0001, Dec., 2017.