aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Add -compat 8.4 econstructor tactics, and testsGravatar Jason Gross2016-04-05
| | | | | Passing `-compat 8.4` now allows the use of `econstructor (tac)`, as in 8.4.
* Fix bug #4656Gravatar Jason Gross2016-04-05
| | | | | I introduced this bug in 4c078b0362542908eb2fe1d63f0d867b339953fd; Coq.Init.Notations.constructor does not take any arguments.
* Update Coq84.vGravatar Jason Gross2016-04-04
| | | | We no longer need to redefine `refine` (it now shelves by default). Also clean up `constructor` a bit.
* Add compatibility Nonrecursive Elimination SchemesGravatar Jason Gross2016-04-04
|
* Fixing the "No applicable tactic" non informative error messageGravatar Hugo Herbelin2016-04-03
| | | | regression on apply.
* Update version number for 8.5pl1Gravatar Maxime Dénès2016-03-29
|
* Univs: fix get_current_context (bug #4603, part I)Gravatar Matthieu Sozeau2016-03-25
| | | | | Return an evar_map with the right universes, when there are no focused subgoals or the proof is finished.
* Fix a bug in Program coercion codeGravatar Matthieu Sozeau2016-03-25
| | | | | It was not accounting for the universe constraints generated by applications of the coercion.
* Fix handling of arity of definitional classes.Gravatar Matthieu Sozeau2016-03-24
| | | | The user-provided sort was ignored for them.
* use printf instead of sequenced calls to print.Gravatar Gregory Malecha2016-03-24
|
* add a .merlin target to the makefileGravatar Gregory Malecha2016-03-24
|
* Revert "refine: do check all unif problems are solved (Close: #4415, #4532)"Gravatar Enrico Tassi2016-03-23
| | | | | | | | | | | | | | | | This fix is too restrictive. Still, opening a goal for an evar with a pending conv_pb is unsafe since the user may prove (instantiate it) in a way not compatible with the conv_pb. Assigning an evar, in its lowest level API, should enforce that all related conv_pbs are satisfied by the instance. This also poses a UI problem, since there is not way to see these conv_pbs. One could print a goal and say: look, the proof term you give must validate this equation... Given that the good fix is not obvious, we revert! This reverts commit a0e792236c9666df1069753f8f807c12f713dcfb.
* refine: do check all unif problems are solved (Close: #4415, #4532)Gravatar Enrico Tassi2016-03-23
| | | | | | | | | | | | This fixes a class of bugs like refine foo; tactic. where tactic fails (by resuming the remaining, unsolvable, problems) while in 8.4 refine was failing. It is not clear to us (Maxime and myself) if we should call consider_remaining_unif_problems instead of check_problems_are_solved.
* A patch renaming equal into eq in the module dealing withGravatar Hugo Herbelin2016-03-22
| | | | | hash-consing, so as to avoid having too many kinds of equalities with same name.
* Adding eq/compare/hash for syntactic view atGravatar Hugo Herbelin2016-03-22
| | | | | | | | | | | | | | | constant/inductive/constructor kernel_name pairs rather than viewing them from only the user or canonical part. Hopefully more uniformity in Constr.hasheq (using systematically == on subterms). A semantic change: Cooking now indexing again on full pairs of kernel names rather than only on the canonical names, so as to preserve user name. Also, in pair of kernel names, ensuring the compact representation is used as soon as both names are the same.
* Fixing bug #4630: Some tactics are 20x slower in 8.5 than 8.4.Gravatar Pierre-Marie Pédrot2016-03-20
| | | | | | The interpretation of arguments of tactic notations were normalizing the goal beforehand, which incurred an important time penalty. We now do this argumentwise which allows to save time in frequent cases, notably tactic arguments.
* Fix bug #4627: records with no declared arity can be template polymorphic.Gravatar Matthieu Sozeau2016-03-17
| | | | | As if we were adding : Type. Consistent with inductives with no declared arity.
* Test file for #4623.Gravatar Maxime Dénès2016-03-17
|
* Fix #4623: set tactic too weak with universes (regression)Gravatar Maxime Dénès2016-03-17
| | | | | | | The regression was introduced by efa1c32a4d178, which replaced unification by conversion when looking for more occurrences of a subterm. The conversion function called was not the right one, as it was not inferring constraints.
* Test file for #4624, fixed by Matthieu's bfce815bd1.Gravatar Maxime Dénès2016-03-16
|
* Fix incorrect behavior of CS resolutionGravatar Matthieu Sozeau2016-03-16
| | | | | | | | | | Due to a change in pretyping, using cast annotations as typing constraints, the canonical structure problems given to the unification could contain non-evar-normalized terms, hence we force evar normalization where necessary to ensure the same CS solutions can be found. Here the dependency test is fooled by an erasable dependency, and the following resolution needs a independent codomain for pop b to be well-scoped.
* Fix #4591: Uncaught exception in directory browsing.Gravatar Pierre-Marie Pédrot2016-03-15
| | | | We protect Sys.readdir calls againts any nasty exception.
* CoqIDE is more resilient to initialization errors.Gravatar Pierre-Marie Pédrot2016-03-15
| | | | | | | | | | We force the STM to finish after the initialization request so as to raise exceptions that may have been generated by the initialization process. Likewise, we simply die when the initialization request fails in CoqIDE instead of just printing an error message. This is the fix for the underlying issue of bug #4591, but it does not solve the bug yet.
* Tentative fix for bug #4614: "Fully check the document" is uninterruptable.Gravatar Pierre-Marie Pédrot2016-03-15
| | | | | | | | The SIGINT sent to the master coqtop process was lost in a watchdog thread, so that the STM resulted in an inconsistent state. This patch catches gracefully the exception and kills the task as if it were normally cancelled. Note that it probably won't work on non-POSIX architectures, but it does not really matter because interrupt was already badly handled anyway.
* Try eta-expansion of records only on non-recursive onesGravatar Matthieu Sozeau2016-03-15
|
* Fix bug when a sort is ascribed to a RecordGravatar Matthieu Sozeau2016-03-15
| | | | Forcefully equating it to the inferred level is not always desirable or possible.
* Trying to circumvent hdiutil error 5341 by padding.Gravatar Maxime Dénès2016-03-14
| | | | | | | When generating the OS X Coq + CoqIDE bundle, hdiutil often produces error 5341. This seems to be a known bug on Apple's side, occurring for some sizes of dmg files. We try to change the current (problematic) size by adding a file full of random bits.
* According to Bruno, my fix for #4588 seems to be enough.Gravatar Maxime Dénès2016-03-11
| | | | So adding a test-suite file and closing the bug.
* Primitive projections: protect kernel from erroneous definitions.Gravatar Matthieu Sozeau2016-03-10
| | | | | | | | | E.g., Inductive foo := mkFoo { bla : foo } allowed to define recursive records with eta for which conversion is incomplete. - Eta-conversion only applies to BiFinite inductives - Finiteness information is now checked by the kernel (the constructor types must be strictly non recursive for BiFinite declarations).
* Hashconsing modules.Gravatar Pierre-Marie Pédrot2016-03-10
| | | | | | | | | | | | | | | | Modules inserted into the environment were not hashconsed, leading to an important redundancy, especially in module signatures that are always fully expanded. This patch divides by two the size and memory consumption of module-heavy files by hashconsing modules before putting them in the environment. Note that this is not a real hashconsing, in the sense that we only hashcons the inner terms contained in the modules, that are only mapped over. Compilation time should globally decrease, even though some files definining a lot of modules may see their compilation time increase. Some remaining overhead may persist, as for instance module inclusion is not hashconsed.
* Fix test-suite file coq-prog-argsGravatar Matthieu Sozeau2016-03-09
| | | | They were not parsed correctly with a newline in the middle.
* Fixed bug #4533 with previous Keyed Unification commitGravatar Matthieu Sozeau2016-03-09
| | | | Add test-suite file to ensure non-regression.
* Win: kill unreliable hence do not waitpid after kill -9 (Close #4369)Gravatar Enrico Tassi2016-03-09
| | | | This commit also completes 74bd95d10b9f4cccb4bd5b855786c444492b201b
* Fix strategy of Keyed UnificationGravatar Matthieu Sozeau2016-03-09
| | | | | | | Try first to find a keyed subterm without conversion/betaiota on open terms (that is the usual strategy of rewrite), if this fails, try with full conversion, incuding betaiota. This makes the test-suite pass again, retaining efficiency in the most common cases.
* Adding backtraces to scheme error messages.Gravatar Pierre-Marie Pédrot2016-03-07
|
* Re-enable OCaml warnings disabled by mistake as part of e759333.Gravatar Maxime Dénès2016-03-07
|
* Fixing bug #4608: Anomaly "output_value: abstract value (outside heap)".Gravatar Pierre-Marie Pédrot2016-03-05
| | | | | | | The ARGUMENT EXTEND statement was wrongly using a CompatLoc instead of a Loc, and this was not detected by typing "thanks" to the Gram.action magic. When using CAMLP4, this was wreaking havoc at runtime, but not when using CAMLP5, as the locations where sharing the same representation.
* Fix #4607: do not read native code files if native compiler was disabled.Gravatar Maxime Dénès2016-03-04
|
* This fix is probably not enough to justify that there are no problems withGravatar Maxime Dénès2016-03-04
| | | | | primitive projections and prop. ext. or univalence, but at least it prevents known proofs of false (see discussion on #4588).
* Rename Ephemeron -> CEphemeron.Gravatar Maxime Dénès2016-03-04
| | | | Fixes compilation of Coq with OCaml 4.03 beta 1.
* Fix a typo in dev/doc/changes.txtGravatar Jason Gross2016-03-04
| | | CQQ -> COQ
* Adding a test for the behaviour of open_constr described in #3777.Gravatar Pierre-Marie Pédrot2016-03-03
|
* Fixing bug #4105: poor escaping in the protocol between CoqIDE and coqtop.Gravatar Pierre-Marie Pédrot2016-03-03
| | | | | | | Printing invalid UTF-8 string startled GTK too much, leading to CoqIDE dying improperly. We now check that all strings outputed by Coq are proper UTF-8. This is not perfect, as CoqIDE will sometimes truncate strings which contains the null character, but at least it should not crash.
* Fixing bug #4596: [rewrite] broke in the past few weeks.Gravatar Pierre-Marie Pédrot2016-02-28
| | | | | | Checking that a term was indeed a relation was made too early, as the decomposition function recognized relations of the form "f (g .. (h x y)) with f, g unary and only h binary. We postpone this check to the very end.
* Document Hint Mode, cleanup Hint doc.Gravatar Matthieu Sozeau2016-02-24
|
* Document differences of Hint Resolve and Hint ExternGravatar Matthieu Sozeau2016-02-23
|
* Fix part of bug #4533: respect declared global transparency ofGravatar Matthieu Sozeau2016-02-23
| | | | projections in unification.ml
* Fix bug #4544: Backtrack on using full betaiota reduction during keyed ↵Gravatar Matthieu Sozeau2016-02-23
| | | | unification.
* Fixing bug #4540: CoqIDE bottom progress bar does not update.Gravatar Pierre-Marie Pédrot2016-02-20
|
* Fix regression from 8.4 in reflexivity/...Gravatar Matthieu Sozeau2016-02-19
| | | | | reflexivity/symmetry/transitivity only need RelationClasses to be loaded.