aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping
Commit message (Collapse)AuthorAge
* Merge PR#373: A refined solution to the beta-iota discrepancies between 8.4 ↵Gravatar Maxime Dénès2017-05-11
|\ | | | | | | and 8.5/8.6 "refine"
* \ Merge PR#606: Added an option Set Debug CbvGravatar Maxime Dénès2017-05-09
|\ \
* | | Remove dead code and unused open.Gravatar Maxime Dénès2017-05-05
| | |
* | | Merge PR#558: Adding a fold_glob_constr_with_binders combinatorGravatar Maxime Dénès2017-05-05
|\ \ \
* \ \ \ Merge PR#544: Anonymous universesGravatar Maxime Dénès2017-05-05
|\ \ \ \
* \ \ \ \ Merge PR#404: patch for printing types of let bindingsGravatar Maxime Dénès2017-05-03
|\ \ \ \ \
| | | | * | Added an option Set Debug Cbv.Gravatar Hugo Herbelin2017-05-03
| |_|_|/ / |/| | | |
| | * | | Type@{_} should not produce a flexible algebraic universe.Gravatar Gaetan Gilbert2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise [(fun x => x) (Type : Type@{_})] becomes [(fun x : Type@{i+1} => x) (Type@{i} : Type@{i+1})] breaking the invariant that terms do not contain algebraic universes (at the lambda abstraction).
| | * | | Allow flexible anonymous universes in instances and sorts.Gravatar Gaetan Gilbert2017-05-03
| | | | | | | | | | | | | | | | | | | | The addition to the test suite showcases the usage.
* | | | | Merge PR#411: Mention template polymorphism in the documentation.Gravatar Maxime Dénès2017-05-03
|\ \ \ \ \ | |_|/ / / |/| | | |
| | * | | applied the patch for printing types of let bindings by @herbelinGravatar Abhishek Anand (@brixpro-home)2017-05-02
| |/ / / |/| | |
* | | | Post-rebase warnings (unused opens and 2 unused values)Gravatar Gaetan Gilbert2017-04-27
| | | |
* | | | Fix 4.04 warningsGravatar Gaetan Gilbert2017-04-27
| | | |
* | | | Remove unused [open] statementsGravatar Gaetan Gilbert2017-04-27
| | | |
* | | | Remove some unused values and typesGravatar Gaetan Gilbert2017-04-27
| | | |
* | | | Fix omitted labels in function callsGravatar Gaetan Gilbert2017-04-27
| | | |
| | | * A refined solution to the beta-iota discrepancies between 8.4 and 8.5 "refine".Gravatar Hugo Herbelin2017-04-27
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a long story of commits trying to improve the compatibility between 8.4 and 8.5 refine, as discussed in https://github.com/coq/coq/pull/346. ac9c5986b77bf4a783f2bd0ad571645694c960e1 add beta-iota in hypotheses and conclusion 8afac4f87d9d7e3add1c19485f475bd2207bfde7 remove beta-iota in hypotheses 08e87eb96ab67ead60d92394eec6066d9b52e55e re-add beta-iota in hypotheses c9c54122d1d9493a965b483939e119d52121d5a6 re-remove beta-iota in hypotheses 9194180e2da0f7f9a2b2c7574bb7261cc69ead17 revert re-remove beta-iota in hypotheses 6bb352a6743c7332b9715ac15e95c806a58d101c re-re-remove beta-iota in hypotheses if <= 8.5 d8baa76d86eaa691a5386669596a6004bb44bb7a idem if = 8.5 The current commit tries to identify (one of?) the exact points of divergence between 8.4 and 8.5 refine, namely the types inferred for the variables of a pattern-matching problem. Note that for the conclusion of each new goal, there were a nf_betaiota in 8.4 done in function Evarutil.evars_to_metas, so the compatibility expects that such a nf_betaiota on the conclusion of each goal remains.
* | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-04-27
|\ \ \
* \ \ \ Merge PR#579: [flags] Deprecate is_silent/is_verbose in favor of single flag.Gravatar Maxime Dénès2017-04-24
|\ \ \ \
| * | | | [flags] Deprecate is_silent/is_verbose in favor of single flag.Gravatar Emilio Jesus Gallego Arias2017-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Today, both modes are controlled by a single flag, however this is a bit misleading as is_silent really means "quiet", that is to say `coqc -q` whereas "verbose" is Coq normal operation. We also restore proper behavior of goal printing in coqtop on quiet mode, thanks to @Matafou for the report.
| | * | | Fix bug #5377: @? patterns broken.Gravatar Pierre-Marie Pédrot2017-04-20
| | | | |
* | | | | Fix bug #5476: Ltac has an inconsistent view of hypotheses.Gravatar Pierre-Marie Pédrot2017-04-19
|/ / / /
* | | | Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-04-15
|\| | |
| | | * Using fold_glob_constr_with_binders to code bound_glob_vars.Gravatar Hugo Herbelin2017-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To use the generic combinator, we introduce a side effect. I believe that we have more to gain from a short code than from being purely functional. This also fixes the expected semantics since the variables binding the return type in "match" were not taking into account.
| | | * Adding a fold_glob_constr_with_binders combinator.Gravatar Hugo Herbelin2017-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binding generalizable_vars_of_glob_constr, occur_glob_constr, free_glob_vars, and bound_glob_vars on it. Most of the functions of which it factorizes the code were bugged with respect to bindings in the return clause of "match" and in either the types or the bodies of "fix/cofix".
* | | | Silence a few OCaml warnings.Gravatar Guillaume Melquiond2017-04-13
| | | |
* | | | Merge PR#543: Sanitize instance interpretationGravatar Maxime Dénès2017-04-11
|\ \ \ \ | |_|_|/ |/| | |
| | | * Update various comments to use "template polymorphism"Gravatar Gaetan Gilbert2017-04-11
| |_|/ |/| | | | | | | | Also remove obvious comments.
* | | Merge PR#379: Introducing evar-insensitive constrsGravatar Maxime Dénès2017-04-11
|\ \ \
* | | | Revert "refactoring: Reductionops.contextual_reduction_function type"Gravatar Matej Košík2017-04-10
| | | | | | | | | | | | | | | | This reverts commit 470d0d56467a3a587dc34f958ffea8259618d1ae.
* | | | refactoring: Reductionops.contextual_reduction_function typeGravatar Matej Kosik2017-04-10
| | | |
| | | * Fixing #5460 (limitation in computing deps in pattern-matching compilation).Gravatar Hugo Herbelin2017-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was assuming dependencies occurring in configurations of the form x:A, y:B x, z:C x y |- match x, y, z with ... end". But still work to do for better management of dependencies in general...
| * | | Merge branch 'master' into econstrGravatar Pierre-Marie Pédrot2017-04-07
| |\ \ \
* | | | | Turning the printing primitive projection parameter flag off by default.Gravatar Hugo Herbelin2017-04-07
| | | | |
* | | | | Turning the printing primitive projection compatibility flag off by default.Gravatar Hugo Herbelin2017-04-07
| |/ / / |/| | |
* | | | Merge PR#508: Optimize pending evarsGravatar Maxime Dénès2017-04-06
|\ \ \ \
| | * | | Fix a normalization hotspot in computation of constr keys.Gravatar Pierre-Marie Pédrot2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | Getting a key only needs to observe the root of a term. This hotspot was observed in HoTT.
| | | * | Factor interp_instance out of Pretyping.pretype_globalGravatar Gaetan Gilbert2017-04-06
| | | | |
| | | * | Avoid strange shadowing of Pretyping.interp_universe_level_nameGravatar Gaetan Gilbert2017-04-06
| |_|/ / |/| | |
| | * | Removing a normalization hotspot from EConstr.Gravatar Pierre-Marie Pédrot2017-04-05
| | | | | | | | | | | | | | | | | | | | It was not necessary to normalize a term just to check whether it was a global reference. The hotspot appeared in mathcomp.
| | * | Merge branch 'trunk' into pr379Gravatar Maxime Dénès2017-04-04
| | |\ \ | |_|/ / |/| | |
| | * | Using delayed universe instances in EConstr.Gravatar Pierre-Marie Pédrot2017-04-01
| | | | | | | | | | | | | | | | | | | | | | | | The transition has been done a bit brutally. I think we can still save a lot of useless normalizations here and there by providing the right API in EConstr. Nonetheless, this is a first step.
| | * | Actually exporting delayed universes in the EConstr implementation.Gravatar Pierre-Marie Pédrot2017-04-01
| | | | | | | | | | | | | | | | | | | | For now we only normalize sorts, and we leave instances for the next commit.
| | * | Make the Constr.kind_of_term type parametric in sorts and universes.Gravatar Pierre-Marie Pédrot2017-03-31
| | | |
| | * | Revert to incorrect heuristic in apply.Gravatar Maxime Dénès2017-03-28
| | | | | | | | | | | | | | | | Was breaking e.g. fiat-crypto.
| | * | Fix interpretation of Ltac patterns episode 2.Gravatar Maxime Dénès2017-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After 5db9588098f9f, some extra evar-normalization remained (compared to trunk) that would change the semantics e.g. of change bindings under Ltac match. This is just circumventing a fundamental flaw in the treatment of patterns.
| | * | Merge branch 'trunk' into pr379Gravatar Maxime Dénès2017-03-24
| | |\ \
* | | | | Replacing "cast surgery" in LetIn by a proper field (see PR #404).Gravatar Hugo Herbelin2017-03-24
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a patch fulfilling the relevant remark of Maxime that an explicit information at the ML type level would be better than "cast surgery" to carry the optional type of a let-in. There are a very few semantic changes. - a "(x:t:=c)" in a block of binders is now written in the more standard way "(x:=c:t)" - in notations, the type of a let-in is not displayed if not explicitly asked so. See discussion at PR #417 for more information.
| * | | Better algorithm for Evarconv.max_undefined_with_candidates.Gravatar Pierre-Marie Pédrot2017-03-24
| | | | | | | | | | | | | | | | | | | | Instead of crawling the whole undefined evar map, we use the fold_right function to process evars in decreasing order.
* | | | Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-03-23
|\ \ \ \ | | |_|/ | |/| |