-
Notifications
You must be signed in to change notification settings - Fork 88
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
Statement splitting incorrect in the presence of some notation #58
Comments
Hi Ralf, I don't think there's anything we can do about this with the current architecture; Coq doesn't expose parsing primitives to us, so we can only guess where sentences start and end. Feel free to reopen if you feel that there's something we could do in this particular case; in general a good way to work around these problems is to use a symbol without dots; possibly a Unicode symbol (you can input them with company-match, with company-coq, or with the TeX input method in Emacs) |
Closing the bug kind of makes it feel like you don't even accept that this is a deficiency. if you want to keep this bug separate from those that you think you can solve, GitHub has this handy "tag" feature :) Considering the implementation... I'm not exactly sure what happens right now. Something is sent to Coq, and then everything freezes. Is it Coq that freezes? Or is it just giving an unexpected error back to PG, to which PG react badly? The latter could be improved. Finally, of course, Coq does provide an interface better suited for IDEs than coqtop... |
Don't read too much in a single bit of information :) It's definitely an issue, and there are many ways to run into it; notations are one; unmatched delimiters are another. I've added a help-wanted tag and reopened.
PG sends stuff to Coq, and waits for an answer. Since what PG sent is not a full sentence, Coq waits for more input.
Indeed; and if you follow the coq-club and coqdev mailing lists, I'm sure you've heard about my recent efforts in that direction :) Unfortunately the new API is not backwards compatible, isn't officially documented, and is still in flux. Of course, any help transitioning to that API is welcome. |
Thanks! So, the freeze is because Coq is waiting for PG to send more input, and PG is waiting for Coq to reply to the input it sent? Ouch. Is there some "immediate" reaction that Coq always shows to input, even if that input happens to be a diverging tactic application? |
Unfortunately not :/ |
Note that coqide does not like your notation either... It fails more Let us say that this is a limitation of the current protocol used by PG: PG The right way to do this would be to ask Coq itself to perform the P. 2016-02-23 18:57 GMT+01:00 Clément Pit--Claudel notifications@github.com:
|
Just to mention than the following is not fully accurate anymore:
Quite reasonable mechanisms are exposed now, even tho our current internal prototypes are based on full-buffer parsing or LSP. |
Right, of course. |
We can make the good old |
The following file compiles fine with Coq, but PG fails to step through it:
The text was updated successfully, but these errors were encountered: