Planning for Copilot 4.7.2 / 4.8 #724
Replies: 5 comments 2 replies
|
Kaveh, would you like to take a stab at fixing this warning we get when uploading packages to Hackage: That one's related to Line 89 in 0c987a7 Context: #690 |
|
@carte731 if you want, once we deal with that one related to lambda case, you could also remove (in separate issues and PRs)
@RyanGlScott Is |
|
I am aware of two prior discussions containing some noticeable (but relatively easy-to-fix) bugs. Perhaps we should elevate these to issues?
|
|
Another thing worth including (as @RyanGlScott mentioned in the meeting today): updating copilot-theorem to work with the latest version of the Kind2 model checker. Currently, copilot-theorem generates Kind2 input in its s-expression-based native format, which has evolved over the past few years so that copilot-theorem's output is no longer accepted by current versions (v2.3.0) of Kind2. I think it's probably been broken since Kind2 v1.0 or so. The biggest difference appears to be in the location and style of "property" definitions -- newer Kind2 expects them to be nested inside a top-level E.g., consider this Copilot spec: kind2 = check $ kind2Prover def
counter :: Stream Word32
counter = [0] ++ (counter + 1)
spec = do
bounds <- prop "bounds" (forAll $ counter < 255)
theorem "nonneg" (forAll $ counter >= 0) (assume bounds >> kind2)It currently produces the following Kind2 output: Whereas current versions of Kind2 expect something along these lines: I think updating the Kind2 native format along these lines should be straightforward, requiring relatively minor changes mostly to Longer-term, it would be much better to target Lustre V4, which is a well-documented language independent of just Kind2 and is Kind2's only officially-supported input language. But this would of course require more effort than just updating support for the native format. |
|
A few additional notes from discussions in the meeting: @rlipkis will also be contributing to the next release, starting with a very small issue. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This thread is to collect ideas for the next release of Copilot after 4.7.1 (May 7th), which will be versioned 4.7.2 or 4.8 (depending on whether we need to bump the major or not or not), and will be released on July 7th.
List ideas down if you want them considered for this release.
Shortlist (will be edited based on comments / discussions):
LambdaCase.PatternSynonyms.what4-arithmetic-counterexamples.copilot-theoremto work with a more modern version of kind2.All reactions