aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2016-10-18Merge branch 'v8.6'Pierre-Marie Pédrot
2016-10-18Extending the doc with a general summary of auto variants.Théo Zimmermann
This way of giving the summary avoids redundancy as much as possible. It is helpful for the auto-completion of Company-Coq of @cpitclaudel.
2016-10-18Document info_auto.Théo Zimmermann
Now that this tactic has been fixed (commit 58d1381), it needed to get documented.
2016-10-18[stm] Fix record field name clash.Emilio Jesus Gallego Arias
PR#173 introduced a record field name clash in `stm.mli`, with duplicate fields `start/stop` for the types `focus` and `static_block_declaration`. We fix by renaming the younger ones (as to minimize code incompatibilities), but other options are possible/could be preferred, however they would be quite more invasive so I think they should be postponed for the day the Stm API is cleaned up.
2016-10-18Improve the documentation of eauto.Théo Zimmermann
Improve the description of what auto/eauto do. These two tactics rely on the simple version of apply/eapply. Since this simple version is available to the end user, it is better to mention it. See also the confusion that such description can create in the thread "Understanding auto" on Coq-Club.
2016-10-18Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2016-10-18Removing output test for module qualification.Pierre-Marie Pédrot
I do not know how to provide a proper test in 8.5, as the location on my machine appears in the error printed when loading the file. Adding a Fail on the End command does not help much either, because it simply does not print anything. Do not merge this commit in 8.6, we still want a test there.
2016-10-17Quick fix to unification regression #4955.Hugo Herbelin
The commit which caused the regression (5ea2539d4a) looks reasonable. However, it happens that this commit made that unification started in the #4955 example to follow a path with problems of the form "proj ?x == ?x" which clearly are unsolvable (both ?x have the same instance). We hack the corresponding very permissive occur-check function so that it is a bit less permissive. One day, this occur-check function would have to be rewritten in a more stricter way. ---------------------------------------------------------------------- Extra comments: I could list several functions for occur check of evars. Four of them are too strict in the sense that they do not take into account occurrences of evars which may disappear by reduction, nor evars which have instances made in such a way that the occur-check is solvable (as in "fst ?x[y:=(0,0)] = ?x[y:=0]"). These are: - Termops.occur_evar for clenv, evar_refiner, tactic unification - syntactic check without any normalization, even on defined evars - Evarutil.occur_evar_upto for refine and the V82 compatibility mode - syntactic check without any normalization but inlining of defined evars - Evarsolve.occur_evar_upto_types for evar_define - syntactic check without any normalization but inlining of defined evars - occur-check in the type of evars met - optimization for not visiting several time the same evar - Evarsolve.noccur_evar for pattern unification and for inversion of substitution (evar/evar or evar/term problems) - syntactic check without any normalization but inlining of defined evars - occur-check in the type of evars met in arguments of projections - occur-check in the type of variables met in arguments of projections - optimization for not visiting several time the same evar - optimization for not visiting several time the type of the same variable - note: to go this way, it seems to me that it should check also in all types which are a cut-formula in the expression One is much too lax: - Evarconv.occur_rigidly - no recursive check except on the types of "forall" and sometimes in the arguments of an application - note: there is obviously a large room for refinements without loosing solutions
2016-10-17Extra warning about unicode character of unknown status following an ident.Hugo Herbelin
This covers the case e.g. of "xₚ" (until the table of unicode characters is upgraded!).
2016-10-17Fixing a few other inconsistencies with notations.Hugo Herbelin
`Notation ".a" := nat.' was accepted and used for printing but not recognized in parsing. Now it does. Other examples in test-suite.
2016-10-17Stopping warning on unrecognized unicode character in notation (fixing #5136).Hugo Herbelin
The warning was pointless since the notation was accepted and parsed anyway. We now treat unrecognized unicode characters like ordinary undefined tokens (e.g. "#" in a bare Coq). For instance, "aₚ", or ".ₚ", or "?ₚ" now fail with "Undefined token" rather than "Unsupported Unicode character".
2016-10-17[toplevel] Remove undocumented "just_parsing" flag.Emilio Jesus Gallego Arias
It was not very useful as just parsing won't get you very far due to lack of notation loading.
2016-10-17[toplevel] Remove duplicate beautify flags.Emilio Jesus Gallego Arias
Given the current style in flags.mli no reason to have a function. A deeper question is why a global flag is needed, in particular the use in `interp/constrextern.ml` seems strange, the condition in the lexer should be looked at and I'm not sure about `printing/`.
2016-10-17Vernac.ml: inlining read_vernac_file within load_vernac.Hugo Herbelin
Also renaming vernac_com into interp_vernac and eval_expr into process_vernac to clarify that it does side-effects (on the contrary of Stm.interp/Vernacentries.interp).
2016-10-17Grouping checks about commands together.Hugo Herbelin
2016-10-17Vernac.ml: parenthesizing a side-effect.Hugo Herbelin
Moving set_formatter_out_channel where it naturally closes the corresponding opening set_formatter_output_functions.
2016-10-17Factorizing two instances of load_vernac.Hugo Herbelin
2016-10-17Passing chan_beautify functionally rather than by side-effect.Hugo Herbelin
2016-10-17Applying Emilio's suggestion to simplify type of eval_expr.Hugo Herbelin
This is not fully satisfactory though since we would not like to have "eval_expr" depending on a parsing/lexing/comments state... but it does because of eval_expr possibly printing the vernac expression given to it.
2016-10-17More on making the lexer more functional (continuing b8ae2de5 andHugo Herbelin
8a8caba3). - Adding cLexer.current_file to the lexer state, i.e. making it a component of the type "coq_parsable" of lexer state (it was forgotten in b8ae2de5 and 8a8caba3). - Inlining save_translator/restore_translator which have now lost most of their substance.
2016-10-17Removing export of location_table outside of cLexer.Hugo Herbelin
It was not used any more by coqdoc since b8194b22 (Dec 2010). The table is now only part of the lexer function closure (and only in the camlp5 case).
2016-10-17Fix compilation with camlp4 broken in 8a8caba3.Hugo Herbelin
2016-10-17Fixing to #3209 (Not_found due to an occur-check cycle).Hugo Herbelin
The fix solves the original bug report but it only turns the Not_found into a normal error in the alternative example by Guillaume. See test-suite file for comments on how to eventually improve the situation and find a solution in Guillaume's example too.
2016-10-17Fixing a missing constraint in consider_remaining_unif_constraints.Hugo Herbelin
2016-10-17Merge branch 'v8.6'Pierre-Marie Pédrot
2016-10-17Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2016-10-17Fix output test for module qualification.Pierre-Marie Pédrot
The output was embedding local paths from my machine.
2016-10-17Fix previous commit.Pierre-Marie Pédrot
I've messed up with parts of the compatibility files I had to commit.
2016-10-17Merge PR #300 into v8.6Pierre-Marie Pédrot
2016-10-17Example illustrating non-local inference of the default type of impossible ↵Hugo Herbelin
branches (see PR #323).
2016-10-17Merge PR #310 into v8.5Pierre-Marie Pédrot
2016-10-17Merge PR #310 into v8.6Pierre-Marie Pédrot
2016-10-17Test for bug #4874.Pierre-Marie Pédrot