-
Notifications
You must be signed in to change notification settings - Fork 29
Port to HB.lock
#144
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
base: master
Are you sure you want to change the base?
Port to HB.lock
#144
Conversation
|
FTR, Cyril's feedback on locking was that we should probably switch from keyed locking to module locking (like |
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.
FTR, a few deprecation constants are missing for the moment, but I'm unsure if we want to be that strict or not.
| Module Imfset : ImfsetSig. | ||
| Definition imfset key := imfset_def key. | ||
| Definition imfset2 key := imfset2_def key. | ||
| Lemma imfsetE key : imfset key = imfset_def key. Proof. by []. Qed. | ||
| Lemma imfset2E key : imfset2 key = imfset2_def key. Proof. by []. Qed. | ||
| End Imfset. |
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.
They should probably be deprecated first.
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.
Done.
| Canonical imfset_unlock k := Unlockable (Imfset.imfsetE k). | ||
| Canonical imfset2_unlock k := Unlockable (Imfset.imfset2E k). |
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.
Same?
| Module FinSupp : FinSuppSig. | ||
| Definition fs := (fun K V d f => domf (@fmap_of_fsfun K V d f)). | ||
| Definition E := erefl fs. | ||
| End FinSupp. |
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.
Same?
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.
Done.
| Definition E := erefl fs. | ||
| End FinSupp. | ||
| Notation finsupp := FinSupp.fs. | ||
| Canonical unlockable_finsupp := Unlockable FinSupp.E. |
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.
Same?
| End FsfunSig. | ||
| End FsfunSig. | ||
|
|
||
| Module Fsfun : FsfunSig. |
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.
Same?
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.
Done.
| Canonical fsfun_of_funE K V default S h key x := | ||
| Unlockable (@Fsfun.of_ffunE K V default S h key x). |
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.
Same?
|
The breakage of multinomials should be fixed by math-comp/multinomials#118. |
|
In the end, locking |
|
|
Fixed. |
| _ : canonical_keys enum_fset | ||
| }. | ||
|
|
||
| #[deprecated(since="finmap 2.3.0", note="Use finSet instead")] |
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.
Since this change is neither a bug fix nor an adaptation to recent versions of Rocq/MathComp, I suggest incrementing the minor version for the next release. @proux01
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.
Sounds reasonable
This PR:
HB.lock.Note that unlocking
fsfun_of_ffundoes not give the same result as before (because it was implemented in a weird way). We need to usefsfun_ffuninstead.