<div dir="ltr"><div dir="ltr"><p>Hi everyone!!</p><p>We are very excited to announce
<span class="gmail-il">Copilot</span> 3.19 [2]. <span class="gmail-il">Copilot</span> is a stream-based EDSL in Haskell for writing
and monitoring embedded C programs, with an emphasis on correctness and
hard realtime requirements. <span class="gmail-il">Copilot</span> is typically used as a high-level
runtime verification framework, and supports temporal logic (LTL, PTLTL
and MTL), clocks and voting algorithms.</p><p>Copilot is being used at NASA in drone test flights. Through the NASA tool Ogma
[1] (also written in Haskell), <span class="gmail-il">Copilot</span> also serves as a runtime
monitoring backend for NASA's Core Flight System, Robot Operating System
(ROS2), and FPrime (the software framework used in the Mars Helicopter)
applications.</p><p>This release drastically increases the test coverage of <code><span class="gmail-il">copilot</span>-core</code>. We also remove deprecated functions fromĀ <code><span class="gmail-il">copilot</span>-core</code> that had been renamed in prior versions to comply with our style guide. <br></p><p>I'd also like to highlight major changes that were released in Copilot 3.18.1, which was not broadly announced: the C backend now produces code that complies with MISRA C, we've introduced testing infrastructure for <span style="font-family:monospace">copilot-libraries</span> and <span style="font-family:monospace">copilot-theorem</span>, fixed an issue with how arrays are generated internally when used as arguments to triggers, fixed several bugs related to testing, introduce compatibility with GHC 9.6, and introduce a new function <span style="font-family:monospace">forAll</span> to void clashes with the language keyword <span style="font-family:monospace">forall</span>, which is needed to be compatible with GHC >= 9.8 in future versions.</p><p>As always, we're releasing exactly 2 months since the last release. Our next release is scheduled for May 7th, 2024.</p><p>Current emphasis is on improving the codebase in terms of stability and test coverage, removing unnecessary dependencies, hiding internal definitions, and formatting the code to meet our new coding standards. We also plan to add extensions to the language to be able to updates arrays and structs. Users are
encouraged to participate by opening issues and asking questions via our
github repo [3].</p><p>Happy Haskelling!</p><p>Ivan</p><p>[1] <a href="https://github.com/nasa/ogma" rel="noopener nofollow ugc" target="_blank">https://github.com/nasa/ogma</a></p><p>[2] <a href="https://github.com/Copilot-Language/copilot/releases/tag/v3.19">https://github.com/Copilot-Language/copilot/releases/tag/v3.19</a></p><p></p><p>[3] <a href="https://github.com/Copilot-Language/copilot" rel="noopener nofollow ugc" target="_blank">https://github.com/<span class="gmail-il">Copilot</span>-Language/<span class="gmail-il">copilot</span></a></p><p>[4] <a href="https://hackage.haskell.org/package/copilot" rel="noopener nofollow ugc" target="_blank">https://hackage.haskell.org/package/<span class="gmail-il">copilot</span></a></p></div></div>