aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins
Commit message (Collapse)AuthorAge
* Tactic deprecation machineryGravatar Maxime Dénès2018-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | We make it possible to deprecate tactics defined by `Ltac`, `Tactic Notation` or ML. For the first two variants, we anticipate the syntax of attributes: `#[deprecated(since = "XX", note = "YY")]` In ML, the syntax is: ``` let reflexivity_depr = let open CWarnings in { since = "8.5"; note = "Use admit instead." } TACTIC EXTEND reflexivity DEPRECATED reflexivity_depr [ "reflexivity" ] -> [ Tactics.intros_reflexivity ] END ``` A warning is shown at the point where the tactic is used (either a direct call or when defining another tactic): Tactic `foo` is deprecated since XX. YY YY is typically meant to be "Use bar instead.".
* Introduce a Pcoq.Entry module for functions that ought to be exported.Gravatar Pierre-Marie Pédrot2018-07-07
| | | | | | | | | | We deprecate the corresponding functions in Pcoq.Gram. The motivation is that the Gram module is used as an argument to Camlp5 functors, so that it is not stable by extension. Enforcing that its type is literally the one Camlp5 expects ensures robustness to extension statically. Some really internal functions have been bluntly removed. It is unlikely that they are used by external plugins.
* refine: obey the use_unification_heuristics flagGravatar Matthieu Sozeau2018-07-05
|
* Merge PR #7746: Many small cleanups removing unused arguments and functionsGravatar Pierre-Marie Pédrot2018-07-05
|\
* \ Merge PR #7979: TACTIC EXTEND in coqppGravatar Emilio Jesus Gallego Arias2018-07-05
|\ \
| | * Evarutil.(e_)new_Type: remove unused env argumentGravatar Gaëtan Gilbert2018-07-03
| | |
| | * Remove unused env argument to fresh_sort_in_familyGravatar Gaëtan Gilbert2018-07-03
| | | | | | | | | | | | (Universes and Evd)
| | * Coq_omega: remove unused Goal.entersGravatar Gaëtan Gilbert2018-07-03
| | | | | | | | | | | | Unused since fd7f056b155b2ebaafa3251a3c136117ebefc3e3.
| | * Remove unused function Coq_omega.timing.Gravatar Gaëtan Gilbert2018-07-03
| | |
| | * Taccoerce: remove various unused arguments.Gravatar Gaëtan Gilbert2018-07-03
| | |
| | * Pptactic: remove unused argumentsGravatar Gaëtan Gilbert2018-07-03
| |/ |/|
* | Merge PR #7703: Add an option to force parameters to be uniformGravatar Matthieu Sozeau2018-07-02
|\ \
| | * Remove the hardcoded compatibility wit_hyp -> wit_var from the parser.Gravatar Pierre-Marie Pédrot2018-07-02
| | |
| | * Slight simplification of the Tacentries API to register ML tactics.Gravatar Pierre-Marie Pédrot2018-07-02
| | | | | | | | | | | | It was forcing the macro to generate code that was useless.
| | * Moving various ml4 files to mlg.Gravatar Pierre-Marie Pédrot2018-07-02
| |/ |/|
* | Merge PR #7902: Use a homebrew parser to replace the GEXTEND extension ↵Gravatar Emilio Jesus Gallego Arias2018-07-02
|\ \ | | | | | | | | | points of Camlp5
| | * Implement uniform parameters in ComInductiveGravatar Jasper Hugunin2018-07-01
| |/ |/| | | | | Don't allow notations attached to uniform inductives
* | Merge PR #7410: Splitting primitive numeral parser/printer for positive, N, ↵Gravatar Emilio Jesus Gallego Arias2018-07-01
|\ \ | | | | | | | | | Z into three files
* | | Split the Ssrmatching module between code and grammar rules.Gravatar Pierre-Marie Pédrot2018-06-30
| | | | | | | | | | | | Fixes #7857.
| | * Port g_tactic to the homebrew GEXTEND parser.Gravatar Pierre-Marie Pédrot2018-06-29
| | |
| | * Use a homebrew parser to replace the GEXTEND extension points of Camlp5.Gravatar Pierre-Marie Pédrot2018-06-29
| |/ |/| | | | | | | | | | | | | | | The parser is stupid and the syntax is almost the same as the previous one. The only difference is that one needs to wrap OCaml code between { braces } so that quoting works out of the box. Files requiring such a syntax are handled specifically by the type system and need to have a .mlg extension instead of a .ml4 one.
| * Splitting primitive numeral parser/printer for positive, N, Z into three files.Gravatar Hugo Herbelin2018-06-29
| |
* | Merge PR #7890: Inline a function from Quote used in setoid_ring.Gravatar Maxime Dénès2018-06-29
|\ \ | |/ |/|
* | Merge PR #7863: Remove Sorts.contentsGravatar Pierre-Marie Pédrot2018-06-27
|\ \
* \ \ Merge PR #7906: universes_of_constr don't include universes of monomorphic ↵Gravatar Pierre-Marie Pédrot2018-06-26
|\ \ \ | | | | | | | | | | | | constants
| | * | Remove Sorts.contentsGravatar Gaëtan Gilbert2018-06-26
| |/ / |/| |
| * | universes_of_constr don't include universes of monomorphic constantsGravatar Gaëtan Gilbert2018-06-26
| | | | | | | | | | | | | | | Apparently it was not useful. I don't remember what I was thinking when I added it.
* | | Merge PR #7620: [ssr] rewrite: turn anomaly into regular errorGravatar Maxime Dénès2018-06-25
|\ \ \
* \ \ \ Merge PR #7236: [ssr] simpler semantics for delayed clearsGravatar Maxime Dénès2018-06-23
|\ \ \ \
* | | | | Using more general information for primitive records.Gravatar Pierre-Marie Pédrot2018-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | This brings more compatibility with handling of mutual primitive records in the kernel.
* | | | | Change the proj_ind field from MutInd.t to inductive.Gravatar Pierre-Marie Pédrot2018-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | This is a first step towards the acceptance of mutual record types in the kernel.
| * | | | [ssr] implement {}/v as a short hand for {v}/v when v is an idGravatar Enrico Tassi2018-06-22
| | | | |
| * | | | [ssr] simplify delayed clearsGravatar Enrico Tassi2018-06-22
| | |/ / | |/| | | | | | | | | | | | | | - we always rename - we compile {clear}/view to /view{clear}
* | | | [ssr] matching: use eq_constr_nounivs in approximated matchingGravatar Enrico Tassi2018-06-22
| | | |
* | | | [ssr] set: merge universe constraints before type checking the termGravatar Enrico Tassi2018-06-22
|/ / /
| | * Further cleanup: do not export the closed_term Ltac entry.Gravatar Pierre-Marie Pédrot2018-06-21
| | | | | | | | | | | | | | | We only use it locally, so we simply register the ML tactic inside the module but we do not export the syntax.
| | * Inline a function from Quote used in setoid_ring.Gravatar Pierre-Marie Pédrot2018-06-21
| |/ |/| | | | | | | | | The code was wrong as it relies once again on term equality and fails on polymorphic constants. Quote is bound to disappear, so we write a correct version of this 10-line function in setoid_ring.
| * [ssr] rewrite: turn anomaly into regular errorGravatar Enrico Tassi2018-06-20
|/ | | | | | | | | I think the bug was introduces when apply_type was made safe. In the test joint to #7255 rewrite (setoid case) generates an ill-typed goal and apply_type raises a Pretype_error. It is unclear to me why the tactic monad does not turn the pretype_error into a UserError
* Merge PR #7797: Remove reference name type.Gravatar Enrico Tassi2018-06-19
|\
* \ Merge PR #7491: Fix #7421: constr_eq ignores universe constraints.Gravatar Pierre-Marie Pédrot2018-06-19
|\ \
| * | Fix #7421: constr_eq ignores universe constraints.Gravatar Gaëtan Gilbert2018-06-18
| | | | | | | | | | | | | | | The test isn't quite the one in #7421 because that use of algebraic universes is wrong.
| | * Remove reference name type.Gravatar Maxime Dénès2018-06-18
| |/ | | | | | | | | | | | | | | reference was defined as Ident or Qualid, but the qualid type already permits empty paths. So we had effectively two representations for unqualified names, that were not seen as equal by eq_reference. We remove the reference type and replace its uses by qualid.
* | Remove the proj_body field from the kernel.Gravatar Pierre-Marie Pédrot2018-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was completely wrong, such a term could not even be type-checked by the kernel as it was internally using a match construct over a negative record. They were luckily only used in upper layers, namley printing and extraction. Recomputing the projection body might be costly in detyping, but this only happens when the compatibility flag is turned on, which is not the default. Such flag is probably bound to disappear anyways. Extraction should be fixed though so as to define directly primitive projections, similarly to what has been done in native compute.
* | Getting rid of the const_proj field in the kernel.Gravatar Pierre-Marie Pédrot2018-06-17
|/ | | | | | This field used to signal that a constant was the compatibility eta-expansion of a primitive projections, but since a previous cleanup in the kernel it had become useless.
* Workaround to handle non-value arguments in tactics.Gravatar Cyprien Mangin2018-06-14
| | | | | Although the fix is not a proper one, it seems to solve every instance of #2800 that could be tested.
* [api] Remove Misctypes.Gravatar Emilio Jesus Gallego Arias2018-06-12
| | | | We move the last 3 types to more adequate places.
* [api] Misctypes removal: move Tactypes to proofsGravatar Emilio Jesus Gallego Arias2018-06-12
| | | | | This gets `Tactypes` closer to `tactics/`, however some legacy stuff blocks it in `proofs`. We consider that is satisfactory for now.
* [api] Misctypes removal: several moves:Gravatar Emilio Jesus Gallego Arias2018-06-12
| | | | | - move_location to proofs/logic. - intro_pattern_naming to Namegen.
* [api] Misctypes removal: miscellaneous aliases.Gravatar Emilio Jesus Gallego Arias2018-06-12
|
* [api] Misctypes removal: multi to tactics/rewriteGravatar Emilio Jesus Gallego Arias2018-06-12
|