[ANN] Copilot 4.2 #579
ivanperez-keera
announced in
Announcements
Replies: 1 comment 3 replies
-
Congrats everyone on the release!! One small note @ivanperez-keera - my last name is spelled "Beechly" =) Looking forward to helping Copilot reach new horizons in the new year! |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi everyone!!
We are really excited to announce Copilot 4.2. This release introduces several big improvements to Copilot:
Specifications can now use the same handler for multiple monitors, provided that the arguments to those handlers always have consistent types and arity. This simplifies the code that uses Copilot, since it's no longer necessary to create multiple boilerplate wrappers around the same handling routines.
The use of structs has been vastly simplified. Before, it was necessary to define class instances for structs, whose implementations were, although repetitive, not intuitive especially for users unfamiliar with Haskell. In Copilot 4.2, it is now possible to define those methods automatically by relying on default method implementations that work well for most cases, although users retain the ability to customize those methods if desired.
We have increased test coverage in
copilot-core
, reaching full coverage of all elements of the public interface that are not automatically generated by GHC.The interface of copilot-core has also been simplified, deprecating record fields of an existential type UExpr, which were largely unused outside of Copilot's internals.
The new implementation is compatible with versions of GHC from 8.6 to 9.10, as well as with the Stackage Nightly.
This release has been made possible thanks to key submissions from Frank Dedden (@fdedden), Ryan Scott (@RyanGlScott), and Kyle Beechly (@kaBeech), the last of which is also a first-time contributor to the project. We are grateful to them for their timely contributions, especially during the holidays, and for making Copilot better every day. We also want to thank the attendees of Zurihac 2024 for technical discussions that helped find the right solutions to some of the problems addressed by this release.
We want to remind the community that Copilot is now accepting code contributions from external participants again. Please see the discussions and the issues to learn how to participate.
For details on this release, see: https://github.com/Copilot-Language/copilot/releases/tag/v4.2.
As always, we're releasing exactly 2 months since the last release. Our next release is scheduled for Mar 7th, 2025.
Current emphasis is on improving the codebase in terms of performance, stability and test coverage, removing unnecessary dependencies, hiding internal definitions, formatting the code to meet our new coding standards, and simplifying the Copilot interface. Users are encouraged to participate by opening issues, asking questions, extending the implementation, and sending bug fixes.
Happy Haskelling!
Beta Was this translation helpful? Give feedback.
All reactions