Skip to content
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

There should be a way to specify both sorts of scope stacks for both notations and Arguments #12157

Closed
JasonGross opened this issue Apr 22, 2020 · 1 comment · Fixed by #14928
Labels
part: notations The notation system.
Milestone

Comments

@JasonGross
Copy link
Member

Description of the problem

Consider:

Declare Scope foo_scope.
Delimit Scope foo_scope with foo.
Notation "'FOO'" := tt : foo_scope.
Arguments id {_} _%foo.
Notation "'id2' x" := x%foo (at level 10, only parsing).
Check id FOO. (* id FOO : unit *)
Fail Check id (fun x : unit => FOO). (* Error: Unknown interpretation for notation "FOO". *)
Check id2 FOO. (* FOO%foo : unit *)
Check id2 (fun x : unit => FOO). (* fun _ : unit => FOO%foo : unit -> unit *)

As far as I know, there's no way to get the Arguments-sort of behavior for Notation, and no way to get the Notation-sort of behavior for Arguments.

cc @herbelin , who I believe had a plan for implementing this?

See also #3990 (where I reported my initial confusion about this)

Coq Version

8.11.1

@JasonGross JasonGross added the part: notations The notation system. label Apr 22, 2020
@herbelin
Copy link
Member

See #9123. This was stalled by lack of a good transition strategy. Maybe worth to reconsider it again though. It also comes to the surface back again in #11762.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
part: notations The notation system.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants