aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics/class_tactics.ml
Commit message (Collapse)AuthorAge
...
* | | [cleanup] Unify all calls to the error function.Gravatar Emilio Jesus Gallego Arias2017-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the continuation of #244, we now deprecate `CErrors.error`, the single entry point in Coq is `user_err`. The rationale is to allow for easier grepping, and to ease a future cleanup of error messages. In particular, we would like to systematically classify all error messages raised by Coq and be sure they are properly documented. We restore the two functions removed in #244 to improve compatibility, but mark them deprecated.
* | | [option] Remove support for non-synchronous options.Gravatar Emilio Jesus Gallego Arias2017-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inspired by https://coq.inria.fr/bugs/show_bug.cgi?id=5229 , which this PR solves, I propose to remove support for non-synchronous options. It seems the few uses of `optsync = false` we legacy and shouldn't have any impact. Moreover, non synchronous options may create particularly tricky situations as for instance, they won't be propagated to workers.
| * | Fix bug #5360: anomalies in typeclass resolution outputGravatar Matthieu Sozeau2017-05-16
| | | | | | | | | | | | | | | Now we properly report NoApplicableEx/ReachedLimit and CannotUnify exceptions that can be raised during resolution.
* | | Uniformity of style for selecting plural or not; spacing for comma.Gravatar Hugo Herbelin2017-05-13
|/ /
* | Post-rebase warnings (unused opens and 2 unused values)Gravatar Gaetan Gilbert2017-04-27
| |
* | Remove unused [open] statementsGravatar Gaetan Gilbert2017-04-27
| |
* | Fix omitted labels in function callsGravatar Gaetan Gilbert2017-04-27
| |
* | Removing various tactic compatibility layers in core tactics.Gravatar Pierre-Marie Pédrot2017-04-24
| |
* | Removing the tclWEAK_PROGRESS tactical.Gravatar Pierre-Marie Pédrot2017-04-24
| | | | | | | | | | | | The only remaining use was applied on the unfold tactic, and the behaviours of tclPROGRESS and tclWEAK_PROGRESS coincide whenever only one goal is produced by their argument tactic.
* | [flags] Deprecate is_silent/is_verbose in favor of single flag.Gravatar Emilio Jesus Gallego Arias2017-04-21
| | | | | | | | | | | | | | | | | | Today, both modes are controlled by a single flag, however this is a bit misleading as is_silent really means "quiet", that is to say `coqc -q` whereas "verbose" is Coq normal operation. We also restore proper behavior of goal printing in coqtop on quiet mode, thanks to @Matafou for the report.
* | Fix a heuristic used by legacy typeclass resolution.Gravatar Pierre-Marie Pédrot2017-04-08
| | | | | | | | | | | | The evarmap used by the heuristic could contain resolved evars, which could lead to a failure of backtracking in the EConstr branch. This is experimental and may be to costly.
* | Actually exporting delayed universes in the EConstr implementation.Gravatar Pierre-Marie Pédrot2017-04-01
| | | | | | | | | | For now we only normalize sorts, and we leave instances for the next commit.
* | Merge branch 'trunk' into pr379Gravatar Maxime Dénès2017-03-24
|\ \
| * | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-03-22
| |\|
| | * Merge PR#359: Fix bug 4969, autoapply was not tagging shelved subgoals ↵Gravatar Maxime Dénès2017-03-10
| | |\ | | | | | | | | | | | | correctly as…
* | | | Merge branch 'master'.Gravatar Pierre-Marie Pédrot2017-02-14
|\| | |
* | | | Removing a subtle nf_enter in Class_tactics.Gravatar Pierre-Marie Pédrot2017-02-14
| | | | | | | | | | | | | | | | | | | | The underlying hint mode implementation was not using the evar-insensitive API so that it resulted in strange bugs.
* | | | Removing most nf_enter in tactics.Gravatar Pierre-Marie Pédrot2017-02-14
| | | | | | | | | | | | | | | | | | | | Now they are useless because all of the primitives are (should?) be evar-insensitive.
* | | | Namegen primitives now apply on evar constrs.Gravatar Pierre-Marie Pédrot2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | Incidentally, this fixes a printing bug in output/inference.v where the displayed name of an evar was the wrong one because its type was not evar-expanded enough.
* | | | Definining EConstr-based contexts.Gravatar Pierre-Marie Pédrot2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | This removes quite a few unsafe casts. Unluckily, I had to reintroduce the old non-module based names for these data structures, because I could not reproduce easily the same hierarchy in EConstr.
* | | | Introducing contexts parameterized by the inner term type.Gravatar Pierre-Marie Pédrot2017-02-14
| | | | | | | | | | | | | | | | | | | | This allows the decoupling of the notions of context containing kernel terms and context containing tactic-level terms.
* | | | Evar-normalizing functions now act on EConstrs.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Removing various compatibility layers of tactics.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Removing compatibility layers related to printing.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Removing compatibility layers in RetypingGravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Removing some return type compatibility layers in Termops.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Reductionops now return EConstrs.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Proofview.Goal primitive now return EConstrs.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Eliminating parts of the right-hand side compatibility layerGravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Class_tactics API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Hints API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Equality API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Tactics API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Clenv API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Tacmach API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Refine API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Goal API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Pretyping API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Typeclasses API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Constr_matching API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Evarconv API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Retyping API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
* | | | Termops API using EConstr.Gravatar Pierre-Marie Pédrot2017-02-14
| | | |
| * | | Merge remote-tracking branch 'github/pr/172' into trunkGravatar Maxime Dénès2016-12-19
| |\ \ \ | | | | | | | | | | | | | | | Was PR#172: alternate path separators in typeclass debug output.
| * \ \ \ Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-12-07
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | Fix shelving order in typeclasses eauto.Gravatar Théo Zimmermann2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | Before this fix, unshelve typeclasses eauto would produce sub-goals in the reverse order compared to when they were first shelved.
| | * | | Fix typeclasses eauto shelving.Gravatar Théo Zimmermann2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A file in the test-suite had to be modified. It was supposed to reproduce a behavior in intuistionistic-nuprl but it did not really. This commit is not supposed to break intuistionistic-nuprl.
| * | | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-11-18
|/| | | | | |/ / /
| * | | Minor debug printing bug,Gravatar Matthieu Sozeau2016-11-16
| | | | | | | | | | | | | | | | Hit by OCaml's "if then else" with no "end" once more
| * | | Revert more of a477dc for good measureGravatar Matthieu Sozeau2016-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We stop failing automatically on non-declared-class nested or toplevel subgoals as in 8.5, instead of the previous a477dc behavior of shelving those goals and failing if shelved goals remained at the end of resolution. It means typeclass resolution during refinement is closer to all:typeclasses eauto. Hints in typeclass_instances for non-declared classes can be used during resolution of _nested_ subgoals when it is fired from type-inference, toplevel goals considered in this case are still only classes (as in 8.5 and before). The code that triggers the restriction to only declared class subgoals is commented. Revert changes to test-suite, adding test for #5203, #5198 is fixed too. Add corresponding tests in the test-suite (that will break if we, e.g. disallow non-class subgoals) and update the refman accordingly.