-
Notifications
You must be signed in to change notification settings - Fork 35
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
[diagnostics] Produce backtraces automatically when an error is an anomaly. #153
Comments
We basically want to:
This should be similar to the implementation of auto-admitted Qeds right? |
Yes.
Good question. I was not thinking of using the error recovery system for this, but actually hooking at a lower level (like in I guess we need to try. |
Yeah, after thinking a bit more about this, let's try to do this in |
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: - calls to admit (this is tricky due to error recovery needing rework to fully account for execution) - calls to `Printer`
Work on tricky issues made me realize that we don't handle anomalies and Coq errors still in the best way, thus #91 is not really solved. There are 2 issues this PR solves: - goal printing can raise an anomalies and errors, due to setting state and printing, - it is safer to stop checking and set the document to failed when an anomaly happens (tho we could make this configurable). Thus, we go full principled in terms of API and make `Protect` mandatory on the exported APIs from `coq` library. We also introduce a `Failed` state that prevents further checking of that document without having finished it. Really fixes #91, and a step towards #153 TODO: protect calls to admit, but we leave this for a further PR as it is quite tricky due to error recovery needing rework to fully account for `Protect.R` results.
This means we will re-execute the anomaly sentence, which may not be very safe. Fixes #153
This means we will re-execute the anomaly sentence, which may not be very safe. Fixes #153
This means we will re-execute the anomaly sentence, which may not be very safe. Fixes #153
This means we will re-execute the anomaly sentence, which may not be very safe. Fixes #153
This means we will re-execute the anomaly sentence, which may not be very safe. Fixes #153
We can instrument
Coq_interp
to do so (seems like the easiest way to do it, other approaches maybe good?)The text was updated successfully, but these errors were encountered: