aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-14Merge branch 'master'.Pierre-Marie Pédrot
2017-02-14Porting the ssrmatching plugin to the new EConstr API.Enrico Tassi
2017-02-14Missing API in EConstr.Enrico Tassi
2017-02-14Quick hack to fix interpretation of patterns in Ltac.Pierre-Marie Pédrot
Interpretation of patterns in Ltac is essentially flawed. It does a roundtrip through the pretyper, and relies on suspicious flagging of evars in the evar source field to recognize original pattern holes. After the pattern_of_constr function was made evar-insensitive, it expanded evars that were solved by magical side-effects of the pretyper, even if it hadn't been asked to perform any heuristics. We backtrack on the insensitivity of the pattern_of_constr function. This may have a performance penalty in other dubious code, e.g. hints. In the long run we should get rid of the pattern_of_constr function.
2017-02-14Dedicated datatype for aliases in Evarsolve.Pierre-Marie Pédrot
2017-02-14Removing a subtle nf_enter in Class_tactics.Pierre-Marie Pédrot
The underlying hint mode implementation was not using the evar-insensitive API so that it resulted in strange bugs.
2017-02-14Removing most nf_enter in tactics.Pierre-Marie Pédrot
Now they are useless because all of the primitives are (should?) be evar-insensitive.
2017-02-14Fix a mishandled exception in Omega.Pierre-Marie Pédrot
Due to the introduction of the monadic layer, an exception was raised at a later time and not caught properly.
2017-02-14Putting back the occur_meta_or_undefined_evar function in the old term API.Pierre-Marie Pédrot
This is another perfomance-critical function in unification. Putting it in the EConstr API was changing the heuristic, so better revert on that change.
2017-02-14Moving evar-normalization functions to EConstr.Pierre-Marie Pédrot
This removes code duplication between Evarutil and EConstr.
2017-02-14Namegen primitives now apply on evar constrs.Pierre-Marie Pédrot
Incidentally, this fixes a printing bug in output/inference.v where the displayed name of an evar was the wrong one because its type was not evar-expanded enough.
2017-02-14Making Evd independent from Namegen.Pierre-Marie Pédrot
2017-02-14Moving printing code from Evd to Termops.Pierre-Marie Pédrot
2017-02-14Chasing a few unsafe constr coercions.Pierre-Marie Pédrot
2017-02-14Do not ask for a normalized goal to get hypotheses and conclusions.Pierre-Marie Pédrot
This is now useless as this returns evar-constrs, so that all functions acting on them should be insensitive to evar-normalization.
2017-02-14Putting back the subst_defined_metas_evars function in the old term API.Pierre-Marie Pédrot
It seems this is a performance-critical function for unification-heavy code. In particular, tactics relying on meta unification suffered an important penalty after this function was rewritten with the evar-insensitive API, as witnessed e.g. by Ncring_polynom whose compilation time increased by ~30%. I am not sure about the specification of this function, but it seems safer to revert the changes and just do it the old way. It may even disappear if we get rid of the old unification algorithm at some point.
2017-02-14Definining EConstr-based contexts.Pierre-Marie Pédrot
This removes quite a few unsafe casts. Unluckily, I had to reintroduce the old non-module based names for these data structures, because I could not reproduce easily the same hierarchy in EConstr.
2017-02-14Introducing contexts parameterized by the inner term type.Pierre-Marie Pédrot
This allows the decoupling of the notions of context containing kernel terms and context containing tactic-level terms.
2017-02-14Evar-normalizing functions now act on EConstrs.Pierre-Marie Pédrot
2017-02-14Removing compatibility layers from TacticalsPierre-Marie Pédrot
2017-02-14Cleaning up interfaces.Pierre-Marie Pédrot
We make mli files look to what they were looking before the move to EConstr by opening this module.
2017-02-14Omega API using EConstr.Pierre-Marie Pédrot
2017-02-14Micromega API using EConstr.Pierre-Marie Pédrot
2017-02-14Removing various compatibility layers of tactics.Pierre-Marie Pédrot
2017-02-14Funind API using EConstr.Pierre-Marie Pédrot
2017-02-14Removing compatibility layers related to printing.Pierre-Marie Pédrot
2017-02-14Ltac now uses evar-based constrs.Pierre-Marie Pédrot
2017-02-14Removing compatibility layers in RetypingPierre-Marie Pédrot
2017-02-14Removing some return type compatibility layers in Termops.Pierre-Marie Pédrot
2017-02-14Setoid_ring API using EConstr.Pierre-Marie Pédrot
2017-02-14Cc API using EConstr.Pierre-Marie Pédrot
2017-02-14Quote API using EConstr.Pierre-Marie Pédrot
2017-02-14Reductionops now return EConstrs.Pierre-Marie Pédrot
2017-02-14Proofview.Goal primitive now return EConstrs.Pierre-Marie Pédrot
2017-02-14Eliminating parts of the right-hand side compatibility layerPierre-Marie Pédrot
2017-02-14Tauto API using EConstr.Pierre-Marie Pédrot
2017-02-14Rewrite API using EConstr.Pierre-Marie Pédrot
2017-02-14G_class API using Econstr.Pierre-Marie Pédrot
2017-02-14G_auto API using EConstr.Pierre-Marie Pédrot
2017-02-14Extratactics API using EConstr.Pierre-Marie Pédrot
2017-02-14Tactic_matching API using EConstr.Pierre-Marie Pédrot
2017-02-14Eqdecide API using EConstr.Pierre-Marie Pédrot
2017-02-14Class_tactics API using EConstr.Pierre-Marie Pédrot
2017-02-14Eauto API using EConstr.Pierre-Marie Pédrot
2017-02-14Auto API using EConstr.Pierre-Marie Pédrot
2017-02-14Hints API using EConstr.Pierre-Marie Pédrot
2017-02-14Leminv API using EConstr.Pierre-Marie Pédrot
2017-02-14Inv API using EConstr.Pierre-Marie Pédrot
2017-02-14Contradiction API using EConstr.Pierre-Marie Pédrot
2017-02-14Equality API using EConstr.Pierre-Marie Pédrot