-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
notation conflict #97
Comments
This is also related to DeepSpec/InteractionTrees#156 |
Oh I did not think of this conflict with |
I agree on changing the notation. What token do you have in mind? |
A crazy idea is to ditch the let* x : t := c1 in
let* x := c2 in
c3 |
I actually quite like it! But if we go this way we should still provide both styles of notations in two different modules I think. I don't have a good head token in mind for the old style type-annotated one I must say. |
I think the problem is with "breaking let". How would |
I'm not sure I see how that would be any different?
Or am I missing something? |
Sorry if this stupid question, I am not very experienced with defining notations.
The question is whether it would conflict with |
I think you may be confusing two things. One thing is the ability to support notation to do deep pattern matching while binding in the style that Coq supports for its own
And can therefore be done the same way with the The second thing is to support type annotations over the binder, which was added only recently. It is performed by:
It currently uses a backtick as syntax because the parser needs to be able to distinguish this notation from the others. This backtick is the one that conflict with the one from |
Thank you! Now I fully understand it. Why do we need backtick there at all? How about this:
|
@YaZko Thanks for letting me know this issue!
|
@gmalecha Should we consider deprecating |
Please do not drop existing monad notation! It is widely used and quite
convenient. The problem I reported was with backtick, not the whole
notation.
…On Sun, Aug 16, 2020, 05:57 Yishuai Li ***@***.***> wrote:
@gmalecha <https://github.com/gmalecha> Should we consider deprecating _
<- _ ;; _ notation in favor of let*?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#97 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAVENO3DG5MAUGUXRG23JDSA7JSFANCNFSM4P3UIMEA>
.
|
By "deprecating" I meant "prefer |
Yes the simplest solution is probably to offer two module, one called |
|
If HELIX has an OPAM release in coq-extra-dev, then ExtLib's CI will run tests to make sure our changes don't break HELIX. |
This is the danger with notation. This might sound curmudgeonly, but it seems odd to overhaul an entire system away from a standard convention used in many places simply to support a type annotation. Personally, I think changing to
Given that we are aware of only one user of the backtick notation, I suggest that we remove that. It might be easy to express that with the infix I'm not sure the state of the |
It might also be reasonable to rename |
Should we remove |
I like the idea of new alternative let* notation. I am just not sure it
should deprecate the existing one. As to backtick problem I think there is
still a chance to make it work. We can try to play with priorities.
P.S. As a side note I am not too worried about confusion with Lisp's let*.
Galina is closer to OCaml that to Lisp and let* is now standard in OCaml.
…On Sun, Aug 16, 2020, 18:37 Yishuai Li ***@***.***> wrote:
Should we remove `let* notation (which has 0 users) as well?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#97 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAVENJIKKSGHH3GNPOP7CLSBCCWPANCNFSM4P3UIMEA>
.
|
Should we remove the backtick notations (#99) from the next release, until the solution gets finalized here? |
For what it's worth (as the only user of the notation), I have no objection to removing it. |
There is notatoin conflict between extlib and standard library:
The text was updated successfully, but these errors were encountered: