aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite
Commit message (Collapse)AuthorAge
* Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-03-22
|\
* | [pp] Make feedback the only logging mechanism.Gravatar Emilio Jesus Gallego Arias2017-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously to this patch, Coq featured to distinct logging paths: the console legacy one, based on `Pp.std_ppcmds` and Ocaml's `Format` module, and the `Feedback` one, intended to encapsulate message inside a more general, GUI-based feedback protocol. This patch removes the legacy logging path and makes feedback canonical. Thus, the core of Coq has no dependency on console code anymore. Additionally, this patch resolves the duplication of "document" formats present in the same situation. The original console-based printing code relied on an opaque datatype `std_ppcmds`, (mostly a reification of `Format`'s format strings) that could be then rendered to the console. However, the feedback path couldn't reuse this type due to its opaque nature. The first versions just embedded rending of `std_ppcmds` to a string, however in 8.5 a new "rich printing" type, `Richpp.richpp` was introduced. The idea for this type was to be serializable, however it brought several problems: it didn't have proper document manipulation operations, its format was overly verbose and didn't preserve the full layout, and it still relied on `Format` for generation, making client-side rendering difficult. We thus follow the plan outlined in CEP#9, that is to say, we take a public and refactored version of `std_ppcmds` as the canonical "document type", and move feedback to be over there. The toplevel now is implemented as a feedback listener and has ownership of the console. `richpp` is now IDE-specific, and only used for legacy rendering. It could go away in future versions. `std_ppcmds` carries strictly more information and is friendlier to client-side rendering and display control. Thus, the new panorama is: - `Feedback` has become a very module for event dispatching. - `Pp` contains a target-independent box-based document format. It also contains the `Format`-based renderer. - All console access lives in `toplevel`, with console handlers private to coqtop. _NOTE_: After this patch, many printing parameters such as printing width or depth should be set client-side. This works better IMO, clients don't need to notify Coq about resizing anywmore. Indeed, for box-based capable backends such as HTML or LaTeX, the UI can directly render and let the engine perform the word breaking work. _NOTE_: Many messages could benefit from new features of the output format, however we have chosen not to alter them to preserve output. A Future commits will move console tag handling in `Pp_style` to `toplevel/`, where it logically belongs. The only change with regards to printing is that the "Error:" header was added to console output in several different positions, we have removed some of this duplication, now error messages should be a bit more consistent.
| * Merge PR#429: Don't require printing-only notation to be productiveGravatar Maxime Dénès2017-03-17
| |\
* | | Report missing tactic arguments in error messageGravatar Tej Chajed2017-03-14
| | | | | | | | | | | | | | | | | | Augments "A fully applied tactic is expected" with the list of missing arguments to the tactic. Addresses [bug 5344](https://coq.inria.fr/bugs/show_bug.cgi?id=5344).
| * | Merge PR#359: Fix bug 4969, autoapply was not tagging shelved subgoals ↵Gravatar Maxime Dénès2017-03-10
| |\ \ | | | | | | | | | | | | correctly as…
* | \ \ Merge PR#395: Allow hintdb to be parameters in a Ltac definition orGravatar Maxime Dénès2017-02-27
|\ \ \ \ | | | | | | | | | | | | | | | Tactic Notation
* \ \ \ \ Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-02-22
|\ \ \ \ \ | | |/ / / | |/| | |
* | | | | Moving the Ltac plugin to a pack-based one.Gravatar Pierre-Marie Pédrot2017-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is cumbersome, because now code may fail at link time if it's not referring to the correct module name. Therefore, one has to add corresponding open statements a the top of every file depending on a Ltac module. This includes seemingly unrelated files that use EXTEND statements.
| | | | * reject notations that are both 'only printing' and 'only parsing'Gravatar Ralf Jung2017-02-16
| | | | |
| | | | * don't require printing-only notation to be productiveGravatar Ralf Jung2017-02-16
| | |_|/ | |/| |
* | | | Merge PR#253: Sort Search results by relevanceGravatar Maxime Dénès2017-02-14
|\ \ \ \
| * | | | Test-suite: output of SearchGravatar Arnaud Spiwack2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | Fix the ordering of the results in the output of Search to correspond to the "priority" ordering.
| | * | | Fixing bug #5346 (an unimplemented application of 'pat).Gravatar Hugo Herbelin2017-02-09
| | | | |
| | | * | Add test-suite files for hintdb variables in Ltac.Gravatar Théo Zimmermann2017-02-07
| |_|/ / |/| | | | | | | | | | | In particular, this closes bug 2417.
* | | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-02-01
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch 'v8.5' into v8.6Gravatar Pierre-Marie Pédrot2017-02-01
| |\ \ \
| | * | | Fixing #5311 (anomaly on unexpected intro pattern).Gravatar Hugo Herbelin2017-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | This was introduced in 8.5 while reorganizing the structure of intro-patterns.
| * | | | Merge branch 'v8.5' into v8.6Gravatar Pierre-Marie Pédrot2017-01-23
| |\| | |
| | * | | Fixing unification regression #5323.Gravatar Hugo Herbelin2017-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tracking conversion problems to reconsider was lost for evars subject to restriction (field last_mods was not updated and conversion problems not considered to be changed).
| * | | | Fixing bugs in typing "match" (regressions #5322 and #5324 + bugs with let-ins).Gravatar Hugo Herbelin2017-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A cleaning done in ade2363e35 (Dec 2015) was hinting at bugs in typing a matching over a "catch-all" variable, when let-ins occur in the arity. However ade2363e35 failed to understand what was the correct fix, introducing instead the regressions mentioned in #5322 and #5324. This fixes all of #5322 and #5324, as well as the handling of let-ins in the arity. Thanks to Jason for helping in diagnosing the problem.
| | * | | Fixing a little bug in printing cofix with no arguments.Gravatar Hugo Herbelin2017-01-05
| | | | |
* | | | | Fixing #5277 (Scheme Equality not robust wrt choice of names).Gravatar Hugo Herbelin2016-12-22
| | | | | | | | | | | | | | | | | | | | This is only a quick fix, as hinted by Jason.
* | | | | Fixing injection in the presence of let-in in constructors.Gravatar Hugo Herbelin2016-12-22
| | | | | | | | | | | | | | | | | | | | This also fixes decide equality, discriminate, ... (see e.g. #5279).
* | | | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-12-07
|\| | | |
| * | | | Merge remote-tracking branch 'github/pr/366' into v8.6Gravatar Maxime Dénès2016-12-04
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Was PR#366: Univs: fix bug 5208
| * \ \ \ \ Merge remote-tracking branch 'github/pr/378' into v8.6Gravatar Maxime Dénès2016-12-04
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Was PR#378: Univs: fix bug #5188
| * | | | | | Fix test-suite after change in "context" printing.Gravatar Maxime Dénès2016-12-02
| | | | | | |
| * | | | | | Merge remote-tracking branch 'github/pr/377' into v8.6Gravatar Maxime Dénès2016-12-02
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Was PR#377: Univs: fix bug #5180
| | | * | | | | Univs: fix bug #5188Gravatar Matthieu Sozeau2016-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parameter was implemented the wrong way trying to separate the universes of the telescope.
| * | | | | | | 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.
| | * | | | | Univs: fix bug #5180Gravatar Matthieu Sozeau2016-11-30
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the kernel's generic conversion, backtrack on UniverseInconsistency for the unfolding heuristic (single backtracking point in reduction). This exception can be raised in the univ_compare structure to produce better error messages when the generic conversion function is called from higher level code in reductionops.ml, which itself is called during unification in evarconv.ml. Inside the kernel, the infer and check variants of conversion never raise UniverseInconsistency though, so this does not change the behavior of the kernel.
| | * / / / Fix UGraph.check_eq!Gravatar Matthieu Sozeau2016-11-30
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Universes are kept in normal form w.r.t. equality but not the <= relation, so the previous check worked almost always but was actually too strict! In cases like (max(Set,u) = u) when u is declared >= Set it was failing to find an equality. Applying the KISS principle: u = v <-> u <= v /\ v <= u. Fix invariant breakage that triggered the discovery of the check_eq bug as well. No algebraic universes should appear in a term position (on the left of a colon in a typing judgment), this was not the case when an algebraic universe instantiated an evar that appeared in the term. We force their universe variable status to change in refresh_universes to avoid this. Fix ind sort inference: Use syntactic universe equality for inductive sort inference instead of check_leq (which now correctly takes constraints into account) and simplify code
* | | | | Tests for info/debug auto/eauto.Gravatar Hugo Herbelin2016-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is while waiting for a deeper uniformization of auto, eauto, and typeclasses eauto. Incidentally includes a little fix in harmonizing auto/eauto printing.
* | | | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-11-18
|\| | | | | |_|/ / |/| | |
| * | | Merge commit '633ed9c' into v8.6Gravatar Maxime Dénès2016-11-17
| |\ \ \ | | | | | | | | | | | | | | | Was PR#192: Add test suite files for 4700-4785
| | * | | Add test suite files for 4700-4785Gravatar Jason Gross2016-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I didn't add any test-cases for timing-based bugs (4707, 4768, 4776, 4777, 4779, 4783), nor CoqIDE bugs (4700, 4751, 4752, 4756), nor bugs about printing (4709, 4711, 4720, 4723, 4734, 4736, 4738, 4741, 4743, 4748, 4749, 4750, 4757, 4758, 4765, 4784). I'm not sure what to do with 4712, 4714, 4732, 4740.
| * | | | 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.
| * | | | Revert part of a477dc, disallow_shelvedGravatar Matthieu Sozeau2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In only_classes mode we do not try to implement a stricter semantics for shelved goals in 8.6. Leaving this for 8.7. Update the documentation as well. Remove a spurious printf call as well. Fix test-suite now that shelved goals are allowed
| * | | | Updating a comment in test-suite.Gravatar Hugo Herbelin2016-11-10
| | | | |
| * | | | Merge remote-tracking branch 'github/pr/339' into v8.6Gravatar Maxime Dénès2016-11-07
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Was PR#339: Documenting type class options, typeclasses eauto
| * \ \ \ \ Merge commit 'e6edb33' into v8.6Gravatar Maxime Dénès2016-11-07
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Was PR#331: Solve_constraints and Set Use Unification Heuristics
| * | | | | | Fix #5181: [Arguments] no longer correctly checks the length of arguments listsGravatar Maxime Dénès2016-11-07
| | | | | | |
| * | | | | | Fix #5182: "Arguments names must be distinct." is bogus and underinformativeGravatar Maxime Dénès2016-11-07
| | | | | | |
| | * | | | | More explicit name for status of unification constraints.Gravatar Maxime Dénès2016-11-07
| | | | | | |
| * | | | | | Test for #4966 ("auto" wrongly seen as "auto with *" when in position of ident).Gravatar Hugo Herbelin2016-11-04
| | | | | | |
| * | | | | | Fix #3441 Use pf_get_type_of to avoid blowupGravatar Matthieu Sozeau2016-11-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... in pose proof of large proof terms
| | | * | | | Fix test-suite files relying on tcs bugsGravatar Matthieu Sozeau2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - One was expecting shelved goals to remain after resolution (from refine). - The other too were relying on the wrong classification of subgoals as typeclass subgoals at toplevel.
| | | * | | | Fixed bug #4095.Gravatar Matthieu Sozeau2016-11-03
| | | | | | |
| | | * | | | typeclasses eauto Implem/doc of shelving strategyGravatar Matthieu Sozeau2016-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now [typeclasses eauto] mimicks what happens during resolution faithfully, and the shelving behavior/requirements for a successful proof-search are documented.
| | | * | | | Fix handling of only_classes at toplevelGravatar Matthieu Sozeau2016-11-03
| | | | | | |