@hackage zephyr-copilot1.0.9

Embedded programming in haskell using the Copilot stream DSL and Zephyr

<p>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.</p> <p>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.</p> <p>See Copilot.Zephyr for details on how to use write a program using this library.</p> <p>For example, to make a board blink its LED:</p> <pre><code>import Copilot.Zephyr.Board.Generic main = zephyr $ do led0 =: blinking delay =: MilliSeconds (constant 100) </code></pre> <p>This and other examples are included in the Examples/ directory, each with their own README explaining how to build and use them.</p> <p>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. <a href="https://copilot-language.github.io/">https://copilot-language.github.io/</a></p> <p>Zephyr is a real time embedded operating system (RTOS) supporting hundreds of boards. <a href="https://zephyrproject.org/">https://zephyrproject.org/</a></p> <h2 id="contributing">Contributing</h2> <p>Contributions are welcome, including adding support for more parts of Zephyr and more boards that are supported by Zephyr.</p> <p>Any contribution should have well documented functions and types.</p>