aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-19Allowing to include Coq terms in Ltac2 using the constr:(...) syntax.Pierre-Marie Pédrot
2017-05-19Embedding generic arguments in Ltac2 AST.Pierre-Marie Pédrot
2017-05-19Introduction of the Ltac2 plugin.Pierre-Marie Pédrot
For now, it is only a simple mini-ML whose effects are the proofview monad. There is no facility to manipulate terms nor any hardwired tactic. Pattern-matching is restricted to superficial constructors, the language is lacking a lot of user-friendly interfaces, the grammar is crappy, and much more.
2017-05-19Re-adding explicit dependency of misc universe test into all_stdlib.v.Hugo Herbelin
Was working when calling test-suite from main Makefile but not when calling directly from the test-suite Makefile. The dependency was mistakenly dropped in 98a927aef.
2017-05-19Fixing an extra bug with pattern_of_constr.Hugo Herbelin
Ensure in type constr_pattern that those preexisting existential variables of the goal which do not contribute as pattern variables are expanded: constr_pattern is not observed up to evar expansion (like EConstr does), so we need to pre-normalize defined evars in patterns to that matching against an EConstr works.
2017-05-19Removing unused warnings.Pierre-Marie Pédrot
2017-05-19Merge branch 'master' into ltac2-hooksPierre-Marie Pédrot
2017-05-18Fix a typoJason Gross
2017-05-18Add .dir-locals.el to pluginsJason Gross
As requested in https://github.com/coq/coq/pull/386#issuecomment-302358542
2017-05-18Adding a trespasser warning to the Nametab API.Pierre-Marie Pédrot
2017-05-18[stm] Tweak debug options.Emilio Jesus Gallego Arias
We allow for a dynamic setting of the STM debug flag, and we print some more information about the result of `process_transaction`. We also fix a printing bug due to mixing `Printf` and `Format`, which are not compatible.
2017-05-18[toplevel] [stm] Avoid edit_at in batch mode (bug #5520)Emilio Jesus Gallego Arias
In non-interactive mode, `edit_at` seems to do very weird things, for instance will try to recompute all the previous states which seems weird. We better avoid that to approximate 8.6 behavior while we investigate more.
2017-05-18[ide] Disable `print_ast` call.Emilio Jesus Gallego Arias
So far this part of the system has shown little utility other than having developers put time to fix it every time they change something in the system. I have never seen this functionality used in the wild, and a large part of the vernac was marked TODO. Given that we have automatic methods to provide this functionality these days (PPX), we remove Texmacspp.
2017-05-17A fix for #5390 (a useful error on used introduction names was masked).Hugo Herbelin
With the "apply in" introduction pattern, and the backtrack possibly done in "apply" over the components of conjunctions (descend_in_conjunctions), the reasons for failing might have different sources. We give priority to the detection of used names over other (unification) errors so that an error there is not masked in the backtracking made by descend_in_conjunctions. Of course, the question of what best unification error to give in the presence of backtracking is still open.
2017-05-17Merge PR#633: An extension of EXTEND and notations to make standard parsing ↵Maxime Dénès
tricks available to users
2017-05-17Documenting relaxing of constraints on injection.Hugo Herbelin
We seized this opportunity to do a little refreshing of the section describing injection.
2017-05-17Stopping injection not to work on discriminable atoms (see #4890).Hugo Herbelin
2017-05-17Fixing bug #5526,allow nonlinear variables in Notation patternsPaul Steckler
2017-05-17Merge PR#457: Adding an even more compact goal hyps mode.Maxime Dénès
2017-05-17Merge PR#607: Make congruence reuse discriminate instead of rolling its own.Maxime Dénès
2017-05-17fix swapping of ids in tuples, bug 5486Paul Steckler
2017-05-17[toplevel] Restore 8.6 goal printing behavior.Emilio Jesus Gallego Arias
When porting the toplevel to the STM, the logic for goal printing was simplified too much under optimistic assumptions. The idea was not to rely on the `vernac_classifier` which is an internal and complicated beast. However, it seems there are many cases to consider other than `is_query`, so at the risk of reimplementing the classifier we revert to the old approach of using the full classification. This gives maximum 8.6 compatibility, with the pitfall of having to call the classifier. Indeed, due to the dynamic nature of the "undo classifier", we cannot call it after `Stm.add`, as the document tree will be not the right one, making the classification of undo commands incorrect (actually raising an error "Cannot undo").
2017-05-17Merge branch 'v8.6'Pierre-Marie Pédrot
2017-05-17Merge PR#620: Reorganization of the layout for miscellaneous testsMaxime Dénès
2017-05-17Merge PR#614: Improve TravisMaxime Dénès
2017-05-17Travis: add -warn-error targets (standard and 4.04.1 ocaml)Gaetan Gilbert
2017-05-17Merge PR#630: [interp] [ast] Make raw_cases_pattern_expr private + small cleanupMaxime Dénès
2017-05-17Travis: deduplicate package list for coqide+documentation targetsGaetan Gilbert
2017-05-17Travis: do not run the tests if building Coq failsGaetan Gilbert
2017-05-17Merge PR#635: Fixing #5522 (anomaly with free vars of pat)Maxime Dénès
2017-05-17Merge PR#636: Miscellaneous typos, dead code, etc.Maxime Dénès
2017-05-17Merge PR#639: Stop using auto with * in two proofs.Maxime Dénès
2017-05-16Stop using auto with * in two proofs.Théo Zimmermann
auto with * is an overkill for people who do not care to understand what they really need. In these two cases, one lemma which was available in the typeclass_instances hint db.
2017-05-16Fix bug #5360: anomalies in typeclass resolution outputMatthieu Sozeau
Now we properly report NoApplicableEx/ReachedLimit and CannotUnify exceptions that can be raised during resolution.
2017-05-16Fixing grammar for "evar" by exporting the test_lpar_id_colon trick to EXTEND.Hugo Herbelin
2017-05-16Adding support for using grammar entries returning no value in EXTEND.Hugo Herbelin
2017-05-16Simplified compaction criterion + tests.Pierre Courtieu
2017-05-16Fixing bug #5222 (anomaly with "`pat" in the presence of scope delimiters).Hugo Herbelin
We seized this opportunity to factorize the code for interning `pat with more general pre-existing code. More precisely: There was already a function to compute the free variables of a pattern. Commit c6d9d4fb rewrote an approximation of it and #5222 hits cases non-treated by this function. We remove the partially-defined redundant code and use instead the existing code since intern_cases_pattern, already called, was already doing this computation. (In doing so, we discover a bug in merging names in the presence of nested "as" clauses, which we fix in previous commit. Additionally, intern_local_pattern was misleadingly overkill to simply mean a folding on Id.Set.add and we avoid the detour.
2017-05-16Fixing a bug with nested "as" clauses in "match".Hugo Herbelin
2017-05-16Merge PR#624: Switch bedrock to mit-plv baseMaxime Dénès
2017-05-16Merge PR#626: Add documentation for Set Ltac Batch DebugMaxime Dénès
2017-05-16Merge PR#629: A couple of simple updates for TravisMaxime Dénès
2017-05-15Dead code in coqdep.Hugo Herbelin
Was introduced in 5268efdef, reverted then readded in 1be9c4d.
2017-05-15Fix #5255: [Context (x : T := y)] should mean [Let x := y].Pierre-Marie Pédrot
2017-05-15[interp] Rework check for casts inside patterns.Emilio Jesus Gallego Arias
1969e10f25df0c913600099b7b98ea273a064017 introduced a check so a cast in a pattern is not a fatal error. We move this check to the internalization function, which is the logical place to raise it, removing a bit boilerplate code.
2017-05-15[interp] [ast] Make raw_cases_pattern_expr private.Emilio Jesus Gallego Arias
The type `raw_cases_pattern_expr` is used only in the interpretation of notation patterns. Indeed, this should be a private type thus we make it local to `Constrintern`; it makes no sense to expose it in the public AST. The patch is routine, except for the case used to interpret primitives in patterns. We now return a `glob_constr` representing the raw pattern, instead of the private raw pattern type. This could be further refactored but have opted to be conservative here. This patch is a refinement of b2953849b999d1c3b42c0f494b234f2a93ac7754 , see the commentaries there for more information about `raw_cases_pattern_expr`.
2017-05-15Typo in comments of constrintern.Hugo Herbelin
2017-05-14Removing a line warned unused.Hugo Herbelin
2017-05-14Removing a variable warned unused.Hugo Herbelin
2017-05-13[travis] Update OCaml to 4.04.1Emilio Jesus Gallego Arias