  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.
