Embedded programming in haskell using the Copilot stream DSL and Zephyr.
zephyr-copilot contains allows using Haskell to program many boards supported by the Zephyr project.
zephyr-copilot uses the Copilot stream DSL (domain-specific language) and Functional Reactive Programming (FRP) to generate a program which can be compiled in Zephyr and flashed to the board.
All the messy details are abstracted away, letting you focus on the desired behavior of the board.
Copilot is a stream (i.e., infinite lists) domain-specific language (DSL) in Haskell that compiles into embedded C. Copilot contains an interpreter, multiple back-end compilers, and other verification tools. https://copilot-language.github.io/
Zephyr is a real time embedded operating system (RTOS) supporting hundreds of boards. https://zephyrproject.org/