English

Juniper: A Functional Reactive Programming Language for the Arduino

Programming Languages 2019-12-02 v1

Abstract

This paper presents the design and implementation of Juniper: a functional reactive programming language (FRP) targeting the Arduino and related microcontroller systems. Juniper provides a number of high level features, including parametric polymorphic functions, anonymous functions, automatic memory management, and immutable data structures. Also included is a standard library which offers many useful FRP signal processing functions. Juniper is translated to standard C++ and compiled with the existing Arduino development tools, allowing Juniper programs to fit on resource-constrained devices, and enabling seamless interoperability with existing C++ libraries for these devices.

Keywords

Cite

@article{arxiv.1911.12932,
  title  = {Juniper: A Functional Reactive Programming Language for the Arduino},
  author = {Caleb Helbling and Samuel Z Guyer},
  journal= {arXiv preprint arXiv:1911.12932},
  year   = {2019}
}

Comments

9 pages, ICFP FARM 2016

R2 v1 2026-06-23T12:30:37.763Z