rocq-prover / rocq-prover/stdlib
`ListNotations` breaks primitive array syntax
Open
Nobody has claimed this yet.
- Dominant language
- Rocq Prover
- Stars
- 42
- Forks
- 38
- Avg merge
- 14h 6m
- Merged PRs (30d)
- 3
Description
Description of the problem
From Coq Require Import Uint63 List PArray.
Open Scope uint63_scope.
Open Scope list_scope.
Check [| 1; 2 | 0 : int |].
Import ListNotations.
Check [| 1; 2 | 0 : int |]. (* Error: Syntax error: [term level 200] expected after '[' (in [term]). *)
cc @coq/parsing-maintainers
Coq Version
8.17
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the reported Coq 8.17 snippet with the Uint63, List, and PArray imports, first without and then with ListNotations. Inspect the definitions of the primitive array notation and ListNotations to identify their parsing conflict; done means both Check commands parse successfully with ListNotations imported.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100