-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turn class_of records into primitive records and get rid of the xclass idiom #591
Conversation
I am curious about the new performances... |
Yes. It will be nice to have benchmarks, including this commented out proof: math-comp/mathcomp/field/fieldext.v Lines 1584 to 1592 in c2e7bad
|
The source of CI failure seems to be coq/coq#9508 which has been fixed in coq/coq#9509. I see there is a possible fix, but since we are about to drop compatibility with Coq (< 8.10), I would rather stop supporting Coq 8.7 and 8.8. |
53d25cd
to
a4cb449
Compare
Here are some benchmarking results using Coq 8.12.0:
So it seems that this PR improves the performance of conversion and/or inference regarding packed classes. |
I would rather say the benchmark does not reveal significant impact. math-comp/mathcomp/field/fieldext.v Lines 1584 to 1592 in c2e7bad
|
In Coq 8.12 and MathComp |
a0490c1
to
49a1ee2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks promising. I'm in favor of merging.
@ggonthier do you agree? |
d701396
to
8c1328d
Compare
Since merging this PR will make us drop support for Coq < 8.9, I think it should be approved in the next meeting before being merged. But as for me, it's all good. |
8c1328d
to
89df582
Compare
89df582
to
a7a8ada
Compare
Shall we merge? |
Motivation for this change
This PR redefines the
class_of
records as primitive records except for morphisms andfinGroupType
, and also removes thexclass
idiom by following #462 (comment) by @ggonthier.Fixes #544 and closes #546.
Things done/to do
CHANGELOG_UNRELEASED.md
(do not edit former entries)[ ] added corresponding documentation in the headersAutomatic note to reviewers
Read this Checklist and make sure there is a milestone.