aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-24Fixing #3479 (parsing of "{" and "}" when a keyword starts with "{" or "}").Hugo Herbelin
2016-10-24Update .gitignore with new names for psatz cachesJason Gross
2016-10-24Fix printing of typeclasses eauto debug wrt intro.Théo Zimmermann
2016-10-24Fix 6d5fe92e to #5150 (missing dependencies in test suite) was a bit too strong.Hugo Herbelin
New fix. A bit less consistent with the spirit of this Makefile as we list prerequisite files explicitly, but avoid to redo subsystems at each call to "make" as with previous fix. Other solutions from experts are welcome.
2016-10-22Merge branch 'v8.5' into v8.6Hugo Herbelin
2016-10-22Remove incorrect assertion in cbn (bug #4822).Guillaume Melquiond
This assertion checked that two arguments in the same position were equal, but in fact, since one might have already been reduced, they are only convertible (which is too costly to check in an assertion).
2016-10-22Do not stop propagation of signals when Coq is busy (bug #3941).Guillaume Melquiond
When inserting a character in an already processed buffer, a message is sent to Coq so that the proof is backtracked and the character is inserted. If a second character is inserted while Coq is still busy with the first message, the action is canceled, but the signal is no longer dropped so that the second character is properly inserted.
2016-10-22Fix incorrect token description for bullets.Guillaume Melquiond
2016-10-22Fixing printing of generic arguments of tag "var".Hugo Herbelin
2016-10-22Renamings to avoid confusion deprecating old namesMatthieu Sozeau
reconsider_conv_pbs -> reconsider_unif_constraints consider_remaining_unif_problems -> solve_unif_constraints_with_heuristics
2016-10-22Add Unset Use Unif Heuristics in Compat/Coq85Matthieu Sozeau
2016-10-22Unification constraint handling (#4763, #5149)Matthieu Sozeau
Refine fix for bug #4763, fixing #5149 Tactic [Refine.solve_constraints] and global option Adds a new multi-goal tactic [Refine.solve_constraints] that forces solving of unification constraints and evar candidates to be solved. run_tactic now calls [solve_constraints] at every [.], preserving (mostly) the 8.4/8.5 behavior of tactics. The option allows to unset the forced solving unification constraints at each ".", letting the user control the places where the use of heuristics is done. Fix test-suite files too.
2016-10-22Fix a bug in error printing of unif constraintsMatthieu Sozeau
Conversion problems are in a de Bruijn environment that may include references to unbound rels (because of the way evars are created), we patch the env to named all de Bruijn variables so that error printing does not raise an anomaly. Also fix a minor printing bug in unsatisfiable constraints error reporting. HoTT_coq_117.v tests all of this.
2016-10-22Port fix for bugs 4763, 5149, previously 0b417c12eMatthieu Sozeau
Adds a compatibility flag so that the behavior of 8.5 can be obtained too. Original commit: unification.ml: fix for bug #4763, unif regression Do not force all remaining conversions problems to be solved after the _first_ solution of an evar. This was hell to track down, thanks for the help of Maxime. contribs pass and HoTT too.
2016-10-21Adding a test for bug #3495.Pierre-Marie Pédrot
2016-10-21Oops, my bad, didn't expect a merge issue!Matthieu Sozeau
2016-10-21Merge remote-tracking branch 'gforge/v8.5' into v8.6Matthieu Sozeau
2016-10-21Adding a primitive to recover the set of keywords from the lexer.Pierre-Marie Pédrot
This is useful for debugging purposes.
2016-10-21Revert "unification.ml: fix for bug #4763, unif regression"Maxime Dénès
This reverts commit 0b417c12eb10bb29bcee04384b6c0855cb9de73a. A good fix requires to review a bit the design of unification constraint postponement, which we do in 8.6. We leave things as they are in 8.5 for compatibility.
2016-10-21sections/hints: prevent Not_found in get_type_ofMatthieu Sozeau
due to cleared/reverted section variables. This fixes the get_type_of but requires keeping information around about the section hyps available in goals during resolution. It's optimized for the non-section case (should incur no cost there), and the case where no section variables are cleared.
2016-10-21Merge branch 'fixminimization' into v8.6Matthieu Sozeau
2016-10-21Revert 214b9ab7969fae71dcf553c399cb1674e463d0e3Matthieu Sozeau
This makes [refine] typecheck the term only once (instead of twice), (Qed excluded of course). Fix test-suite file for output of constraints accordingly.
2016-10-21Remove no longer exported debug printerMatthieu Sozeau
2016-10-21Merge remote-tracking branch 'github/pr/328' into v8.5Maxime Dénès
Was PR#328: Change the order of arguments of fig2dev.
2016-10-21Merge remote-tracking branch 'github/pr/233' into v8.6Maxime Dénès
Was PR#233: [search] Search result streaming
2016-10-20Adding dependency of the test-suite subsystems in prerequisite (fixing #5150).Hugo Herbelin
2016-10-20A fix for #5097 (status of evars refined by "clear" in ltac: closed wrt evars).Hugo Herbelin
If an existing evar was cleared in pretyping (typically while processing "ltac:"), it created an evar considered as new. Updating them instead along the "cleared" flag. If correct, I suspect similar treatment should be done for refining along "change", "rename" and "move".
2016-10-20Cleanup code according to comments.Matthieu Sozeau
2016-10-20Fix minimization to be insensitive to redundant arcs.Matthieu Sozeau
The new algorithm produces different sets of arcs than in 8.5, hence existing developments may fail to pass now because they relied on the (correct but more approximate) result of minimization in 8.5 which wasn't insensitive. The algorithm works bottom-up on the (well-founded) graph to find lower levels that an upper level can be minimized to. We filter said lower levels according to the lower sets of the other levels we consider. If they appear in any of them then we don't need their constraints. Does not seem to have a huge impact on performance in HoTT, but this should be evaluated further. Adapt test-suite files accordingly.
2016-10-20Merge branch 'bug5036' into v8.6Matthieu Sozeau
2016-10-20Fix bug #5036 autorewrite, sections and universesMatthieu Sozeau
Universe context not properly declared. Improve API and code in declare.ml to allow declaration of universe contexts, used by declaration of universes and constraints (separately).
2016-10-20[search] Don't build intermediate lists in search.Emilio Jesus Gallego Arias
This patch converts the `search_*` functions to use an iter-style API. Consequently, the Search Vernac will produce a message for each search result, greatly improving roundtrip time as IDEs can effectively display the results in a streaming way. It also allows different printers to be used. I didn't observe a performance difference (as things seem to be dominated by printing and `Declaremods`). As a minor tweak, we make search with "Output Name Only" more efficient. Motivation: ----------- Currently, the main search API `Search.generic_search` is an effectful, iteration-based function: ```ocaml val generic_search : int option -> display_function -> unit ``` This type is imposed by `Declaremods`, which exposes an effectful, iteration-based API to traverse Coq library objects. The `Search.search_*` functions try to offer a more functional API by returning a list of pretty printing commands. They need to build an internal intermediate list for that purpose. However, this is a waste of time, as the destination of these lists is to be flushed out by the printer right away.
2016-10-20COMMENTS: dev/doc/changes.txtMatej Kosik
2016-10-20CLEANUP: Namegen.to_avoidMatej Kosik
This function does the same thing as "Names.Id.List.mem" so: - I deleted the "Namegen.to_avoid" function and - replaced all calls of "Namegen.to_avoid" to calls of "Names.Id.List.mem"
2016-10-20Merge remote-tracking branch 'github/printcandidates' into v8.6Matthieu Sozeau
2016-10-20Refine printing of pending unification constraintsMatthieu Sozeau
It now prints evars with candidates as well if there are any.
2016-10-19Documenting Hint Resolve -> and <- variants.Théo Zimmermann
These variants are from 8.3 but were never documented except in CHANGES.
2016-10-19Test for variant of #5142 (good error message on pattern-matching failure).Hugo Herbelin
2016-10-19Attempt to improve error rendering in pattern-matching compilation (#5142).Hugo Herbelin
When trying different possible return predicates, returns the error given by the first try, assuming this is the most interesting one.
2016-10-19enriching ".gitignore"Matej Kosik
2016-10-19More comments in VM.Maxime Dénès
2016-10-19Error Resiliency: more conservative default (only curly braces)Enrico Tassi
2016-10-19Making the doc of auto hints more precise.Théo Zimmermann
The doc of auto hints now mention again that sometimes a hint will be used with simple apply and sometimes it will be used with exact. It does not try to be fully precise in that we don't necessarily want to document the behaviors of auto that we might like to change. See also the discussion on commit 9227d6e.
2016-10-19COMMENT: was added to "Nameops.increment_suffix".Matej Kosik
2016-10-19CLEANUP: rename "Nameops.lift_subscript" to "Nameops.increment_subscript".Matej Kosik
The word "increment" is more appropriate in this case than "lifting". The world "lifting", in computer science, usually denotes something else: https://en.wikipedia.org/wiki/Lambda_lifting
2016-10-19Converting certain "order-only" (Makefile) dependencies to regular dependencies.Matej Kosik
For some reason "grammar/grammar.cma" was declares only an "order-only" dependency for "*.ml" files generated from "*.ml4". I this that this is a problem because when we change "grammar/*.mlp" files, even tough "grammar/grammar.cma" is regenerated, the actual "*.ml" files (defined by "*.ml4" as well as "grammar/grammar.cma") are not regenerated.
2016-10-19Change the order of arguments of fig2dev.Théo Zimmermann
For some reason, with my version of transfig (which seems to be the latest), the order of arguments of the fig2dev command matters: -L png must come before -m 2. I suppose that this fix shouldn't break things for others.
2016-10-18[pp] Use more convenient pp API in ssrmatchingEmilio Jesus Gallego Arias
2016-10-18[pp] Try to properly tag error messages in cError.Emilio Jesus Gallego Arias
In order to get proper coloring, we must tag the headers of error messages in `CError`. This should fix bug https://coq.inria.fr/bugs/show_bug.cgi?id=5135 However, note that this could interact badly with the richpp printing used by the IDE. At this level, we have no clue which tag we'd like to apply, as we know (and shouldn't) nothing about the top level backend. Thus, for now I've selected the console printer, hoping that the `Richpp` won't crash the IDE.
2016-10-18[pp] Add tagging function to all low-level printing calls.Emilio Jesus Gallego Arias
The current tag system in `Pp` is generic, which implies we must choose a tagging function when calling a printer. For console printing there is a single choice, thus this commits adds it a few missing cases.