aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-14Use return code to classify anomalies as active open bugs.Xavier Clerc
2014-11-14Exit with code 129 when an anomaly occurs.Xavier Clerc
2014-11-14Get rif of exit codes 120, 121, 123, and 124.Xavier Clerc
2014-11-14Add missing "Fail" to test case for bug #2814.Xavier Clerc
2014-11-14Reproduction cases for the test suite.Xavier Clerc
2014-11-14Preserving the good effect of 014e5ac92a on not leaving dangling localHugo Herbelin
definitions while keeping some compatibility on when to generalize when an index also occur in a parameter (effect on PersistentUnionFind for instance).
2014-11-13Fixing Scheme Equality, after bug introduced in bf018569405c.Hugo Herbelin
2014-11-13Move conjugate_verb_to_be next to cString.plural.Hugo Herbelin
2014-11-13Removing yet another source of remaining local definitions.Hugo Herbelin
2014-11-12Document (some) Proof using syntax + the new Optimize commandsEnrico Tassi
2014-11-12Cleaner interfaces for linking locations of native compiler.Maxime Dénès
Stop sharing those references across constants of the same module, which was triggering some bugs when using native_compute in interactive mode in a functor declaration.
2014-11-11Accepting conversion on inner closed subterms while looking forHugo Herbelin
matching subterm destruct/induction on a partially applied pattern. AFAICS, there is only such instance of destruct that needs this in the contrins (in EuclideanGeometry/G3_ParticularAngle.v), but while a more global decision is taken, I prefer at the current time to adopt this approximation of 8.4 semantics, even if the flags are not the same when the pattern is fully applied or not. Only so little cases are concerned because in most cases, destruct/induction on a partially applied pattern is of the form "destruct cst" (e.g. "destruct eq_dec") and no conversion is needed anyway. Not being uniform whether the pattern is fully applied or not is a bit unsatisfactory, but hopefully, this is temporary.
2014-11-11Adapting output tests to current naming of evars, even if unclearHugo Herbelin
where it will eventually stabilize.
2014-11-11Updating CHANGES (evars as ident).Hugo Herbelin
2014-11-11American spelling + layout in CHANGES.Hugo Herbelin
2014-11-11Renouncing to check only at the end of the call to "apply in" theHugo Herbelin
absence of remaining dependent evars when several arguments are given. For simplicity of implementation, checking instead for every step of the n-ary "apply in".
2014-11-10Universes.nf_evars_and_universes_opt_subst substitutes evars eagerly.Pierre-Marie Pédrot
This is a continuation of the previous patch.
2014-11-10Evar normalization is now done eagerly.Pierre-Marie Pédrot
As witnessed in the ProjectiveGeometry contrib, some evar normalization were taking ages because of an exponential behaviour due to a call-by-name substitution: when normalizing an evar, its arguments were substituted right away and the resulting term was then normalized, leading to a potential duplication of normalizations. Now we normalize evar arguments before substituting them, in a call-by-value fashion. It makes examples from ProjectiveGeometry compile instanteanously when they were killing the machine due to excessive memory allocation before the patch. Note that there is a tension here: we may be normalizing evar arguments too eagerly, and try a call-by-need approach instead. To choose which particular strategy we use, we should do some benchmarks... On stdlib, call-by-value and call-by-need seem indistinguishable. To be continued?
2014-11-10Fix #3282: VM confused by let bindings in fixpoints.Maxime Dénès
I'm afraid this fix is a bit heuristic, but it seems to generate correct code in all cases.
2014-11-10Better printing of dynlink errors in native compiler.Maxime Dénès
2014-11-10Plug the dynamic tags in the Richpp mechanism.Pierre-Marie Pédrot
2014-11-10Adding a dynamic tag type in Pp.Pierre-Marie Pédrot
2014-11-10Replugging hints in rewriting strategies.Pierre-Marie Pédrot
2014-11-10Fixing wrongly used tclWITHHOLES in named tactics (continuation of 9fa45b3).Pierre-Marie Pédrot
2014-11-09Fixing bug #3803.Pierre-Marie Pédrot
The Info layer was setting the required evarmap too eagerly, making the tclWITHHOLE tactical accept terms with holes. The logging facility is now inside the tclWITHHOLES.
2014-11-09Removing the unused boolean flag from the move tactic implementation.Pierre-Marie Pédrot
2014-11-09Removing a unused boolean in the TacMove node of tacexpr AST.Pierre-Marie Pédrot
2014-11-09Adding test for bug 3792.Pierre-Marie Pédrot
2014-11-09Fixing bug #3792.Pierre-Marie Pédrot
Pretyping of [if] cases was missing a convertibility check with the ambient type constraint, and just dropped it. This was making the pretyper construct ill-typed terms.
2014-11-09new: Optimize Proof, Optimize HeapEnrico Tassi
- drops all Defined entries from the evar map (applying the subst to the initial evar and the undefined evars types). - call Gc.compact Now the question is: where should these two commands be documented?
2014-11-08Follow up to experimental eager evar unification in bcba6d1bc9:Hugo Herbelin
Observing that systematic eager evar unification makes unification works better, for instance in setoid rewrite (ATBR, SemiRing.v), we add a new flag use_evars_eagerly_in_conv_on_closed_terms which is put to true only in Rewrite.rewrite_core_unif_flags (empirically, this makes the "rewrite" from rewrite.ml working again on examples which were previously treated by use_metas_eagerly_in_conv_on_closed_terms).
2014-11-08Fixing a bug in change of subst_defined_metas in bcba6d1bc9f769da:Hugo Herbelin
One missing evar was making the whole substitution fail. The bug actually existed a priori also in the case where only metas are substituted (i.e. before bcba6d1bc9f769da), leading to limit the number of situations where it could be effectful. This fixes current failures of RelationAlgebra and CFGV.
2014-11-08Continuing 3741c46fe134 on reporting ltac error.Hugo Herbelin
- Do use the flag for_ml for distinguishing coq level and ml level ltac definitions. - Skip ML call from the trace. There are still differences from 8.4 and trunk. For instance on: Ltac f x := refine x. Goal False. f I. 8.4 says: In nested Ltac calls to "f" and "x" (with x:=I), last term evaluation failed. Error: The term "I" has type "True" while it is expected to have type "False". trunk says: In nested Ltac calls to "f" and "refine <genarg:uconstr>", last call failed. Error: The term "I" has type "True" while it is expected to have type "False". Maybe we would like a mix of both (besides the printing of a non-elegant "<genarg:uconstr>)?
2014-11-08Compatibility with 8.4 in the heuristic used to build the inductionHugo Herbelin
hypothesis when indices also occur among parameters. This solves current failure of PersistentUnionFind.
2014-11-08Test #3655 was failing due to an anomaly. Now it rather has to failHugo Herbelin
normally, so failure is now detected by removing the "Fail".
2014-11-08Test fixed by PMP's commits from Oct 21.Hugo Herbelin
2014-11-07Fixing doc of Functional Induction.Hugo Herbelin
2014-11-07Fixing Functional Induction when applied to an alias (reference manualHugo Herbelin
for Functional Induction was failing because of minus now an alias). Knowing that minus is an alias for Sub.nat, there are still two bugs in Functional Induction (Pierre or Julien?): "Functional Scheme minus_ind := Induction for minus Sort Prop." is failing when Nat is not imported. "functional induction (minus n m)" is failing because looking for sub_ind while the scheme is named minus_ind.
2014-11-07Granting #3717 (more informative error message on missing arguments for ↵Hugo Herbelin
functional induction).
2014-11-07Test for #3675 on primitive projections.Hugo Herbelin
2014-11-07Fixing #3562 ("as" in "destruct" expects either a disjunctiveHugo Herbelin
intropattern or a bound ltac variable).
2014-11-07Test for #3542 fixed some time ago.Hugo Herbelin
2014-11-07doc: version number in cover.html + updates in coq.inria.fr stylePierre Letouzey
2014-11-07Removing the legacy intro tactic code.Pierre-Marie Pédrot
2014-11-07Print [rename] tactic properly in info trace.Arnaud Spiwack
Followup of d0a871374e3b3498c51d9d7b8e4510f7e1e7a3e1 (Writing rename_hyps in the new monad).
2014-11-06Consequence of changing the definition of Nat.shiftl and Nat.shiftr.Hugo Herbelin
2014-11-06Restoring clear_flag (thanks a lot to jonikelee to notice it).Hugo Herbelin
2014-11-06Optimizing when to clear generalized hypotheses in destruct.Hugo Herbelin
Removing blocking of generalization on destructed hypothesis introduced on Nov 2. It was a bad idea as shown by bug #3790 on eliminating v:Vector n, keeping an equality.
2014-11-06Dependency bug in using eqn for destruct.Hugo Herbelin
2014-11-06Test for bug #3723 and #3787 on reinitialization of empty camlp4/5 levels.Hugo Herbelin