M. Grebe and A. Gill, “Threading the Arduino with Haskell,” in Post-Proceedings of Trends in Functional Programming, 2017.



Programming embedded microcontrollers often requires the scheduling of independent threads of execution, specifying the interaction and sequencing of actions in the multiple threads. Developing and debugging such multi-threaded systems can be especially challenging in highly resource constrained systems such as the Arduino line of microcontroller boards. The Haskino library, developed at the University of Kansas, allows programmers to develop code for Arduino-based microcontrollers using monadic Haskell program fragments. This paper describes our efforts to extend the Haskino library to translate monadic Haskell code to multi-threaded code executing on Arduino boards.


  year = {2017},
  booktitle = {Post-Proceedings of Trends in Functional Programming},
  pubstate = {inpress},
  title = {Threading the {A}rduino with {H}askell},
  author = {Grebe, Mark and Gill, Andy},