Skip to content

Ltac2 abbreviations typecheck at declaration time#21617

Open
SkySkimmer wants to merge 4 commits intorocq-prover:masterfrom
SkySkimmer:tac2abbrev-up
Open

Ltac2 abbreviations typecheck at declaration time#21617
SkySkimmer wants to merge 4 commits intorocq-prover:masterfrom
SkySkimmer:tac2abbrev-up

Conversation

@SkySkimmer
Copy link
Contributor

@SkySkimmer SkySkimmer commented Feb 11, 2026

This means

  • earlier type errors for incorrect abbreviations
  • abbreviations may contain quotations, eg Ltac2 Abbreviation foo := @foo.

Overlays:

@SkySkimmer SkySkimmer requested review from a team as code owners February 11, 2026 14:55
@coqbot-app coqbot-app bot added the needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. label Feb 11, 2026
@SkySkimmer SkySkimmer added kind: enhancement Enhancement to an existing user-facing feature, tactic, etc. part: ltac2 Issues and PRs related to the (in development) Ltac2 tactic langauge. request: full CI Use this label when you want your next push to trigger a full CI. labels Feb 11, 2026
@SkySkimmer SkySkimmer added this to the 9.3+rc1 milestone Feb 11, 2026
@coqbot-app coqbot-app bot removed request: full CI Use this label when you want your next push to trigger a full CI. needs: full CI The latest GitLab pipeline that ran was a light CI. Say "@coqbot run full ci" to get a full CI. labels Feb 11, 2026
SkySkimmer added a commit to SkySkimmer/rocq that referenced this pull request Feb 11, 2026
This adds a mode to ltac2 typechecking which accumulates errors
instead of raising an exception at the first error.

Ltac2 Globalize then uses this mode and ignores the accumulated errors
(we could print them instead).

The accumulation mode could also be used to provide all errors from an
ltac2 expression in regular code in the future (with a flag).

Together with rocq-prover#21617 this gets us closer to removing the globalize
code (which doesn't work on quotations so should be avoided).
@SkySkimmer SkySkimmer added the request: full CI Use this label when you want your next push to trigger a full CI. label Feb 11, 2026
@coqbot-app coqbot-app bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Feb 11, 2026
@SkySkimmer SkySkimmer added needs: overlay This is breaking external developments we track in CI. request: full CI Use this label when you want your next push to trigger a full CI. and removed needs: overlay This is breaking external developments we track in CI. labels Feb 11, 2026
SkySkimmer added a commit to SkySkimmer/rocq-ltac2-compiler that referenced this pull request Feb 13, 2026
@coqbot-app coqbot-app bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Feb 13, 2026
@SkySkimmer SkySkimmer added the request: full CI Use this label when you want your next push to trigger a full CI. label Feb 17, 2026
@coqbot-app coqbot-app bot removed the request: full CI Use this label when you want your next push to trigger a full CI. label Feb 17, 2026
@ppedrot ppedrot self-assigned this Feb 25, 2026
SkySkimmer added a commit to SkySkimmer/rocq that referenced this pull request Feb 26, 2026
This adds a mode to ltac2 typechecking which accumulates errors
instead of raising an exception at the first error.

Ltac2 Globalize then uses this mode and ignores the accumulated errors
(we could print them instead).

The accumulation mode could also be used to provide all errors from an
ltac2 expression in regular code in the future (with a flag).

Together with rocq-prover#21617 this gets us closer to removing the globalize
code (which doesn't work on quotations so should be avoided).
@github-actions github-actions bot added the needs: rebase Should be rebased on the latest master to solve conflicts or have a newer CI run. label Feb 27, 2026
@SkySkimmer SkySkimmer added the request: full CI Use this label when you want your next push to trigger a full CI. label Mar 2, 2026
@coqbot-app coqbot-app bot removed needs: rebase Should be rebased on the latest master to solve conflicts or have a newer CI run. request: full CI Use this label when you want your next push to trigger a full CI. labels Mar 2, 2026
@github-actions github-actions bot added the needs: rebase Should be rebased on the latest master to solve conflicts or have a newer CI run. label Mar 5, 2026
@SkySkimmer SkySkimmer added the request: full CI Use this label when you want your next push to trigger a full CI. label Mar 5, 2026
@coqbot-app coqbot-app bot removed needs: rebase Should be rebased on the latest master to solve conflicts or have a newer CI run. request: full CI Use this label when you want your next push to trigger a full CI. labels Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind: enhancement Enhancement to an existing user-facing feature, tactic, etc. part: ltac2 Issues and PRs related to the (in development) Ltac2 tactic langauge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants