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
Ltac2: use 0 argument externals when possible #17534
Conversation
e17ba88
to
5931fcb
Compare
4e9d81a
to
e3e2dd0
Compare
1159554
to
8cefaca
Compare
8cefaca
to
4e1e038
Compare
@SkySkimmer I think this should go in to 8.19 with the other API-breaking changes so that we concentrate the breakage in one version. Could you rebase and write the missing overlays? |
@coqbot run full ci |
Not sure what's a nice way to make an overlay for coqutil. cc @JasonGross |
4e1e038
to
3260fa8
Compare
Ended up doing mit-plv/coqutil#107, now waiting for merge and submodule bumps |
@coqbot run full ci |
@coqbot merge now |
Export Ltac2.Array. | ||
Ltac2 empty () := empty. | ||
End Array. | ||
End Ltac2. |
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.
@SkySkimmer @ppedrot this seems wrong, as it makes the stdlib depend on Ltac2 .
It doesn't fail in CI because we implicitly put Ltac2 in scope, but that could change in the future.
I'm not sure we should do anything about this, but at least I feel I had to signal it to you.
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.
Shouldn't we have Compat as a separate theory depending on everything from Coq?
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.
I don't know, several options are possible; I guess it'd make more sense to have the stdlib depend on Ltac2?
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.
As of today we handle Ltac2 and Coq as the same package, in both cases we pass -boot -Q $path_to_ltac2 Ltac2 -R $path_to_theories Coq
, so there is no separation.
I detected this issue on some private setups I have where I enforce more separation.
For example if you wish, we could compile Ltac2 without -R theories Coq
and with -noinit
, similarly for the stdlib.
Depends:
Overlays:
Ltac2.Array.make 0
instead ofArray.empty
for compat (coq/coq#17534) mit-plv/coqutil#107 (backwards compatible)