Juniper is a functional reactive programming language tailored specifically for programming the Arduino chip.
The purpose of Juniper is to provide a functional reactive programming platform for designing Arduino projects. FRP's high-level approach to timing-based events fits naturally with Arduino, with which programming almost entirely revolves around reacting to realtime events. Additionally, since C++ is a very low-level language, Juniper is intended to have better readability on a higher level. Juniper transpiles to Arduino C++, which is then compiled to an Arduino executable.
We designed this language because we believed that FRP was better suited for the Arduino’s problem space than C++, thanks to its alternative style and methodology of coding.