aboutsummaryrefslogtreecommitdiff
path: root/ltac
AgeCommit message (Collapse)Author
2016-09-15Moving Tacexpr to ltac/ folder.Pierre-Marie Pédrot
2016-09-15Made Ppanotation Ltac-agnostic.Pierre-Marie Pédrot
2016-09-15Untangling Tacexpr from lower strata.Pierre-Marie Pédrot
2016-09-15Continuing fix to #5078, taking also into account intropatterns.Hugo Herbelin
Getting closer from before when the bug was introduced + test.
2016-09-15Moving Tactic_matching to ltac/ folder.Pierre-Marie Pédrot
2016-09-15Moving Ltac-specific generic arguments to their own file in the ltac/ folder.Pierre-Marie Pédrot
2016-09-15Moving Ltac printers to ltac/ folder.Pierre-Marie Pédrot
2016-09-15Generalizing the notion of constr substitution to generic arguments.Pierre-Marie Pédrot
This removes a dependency on wit_tactic in Constrintern.
2016-09-14Moving Ltac-specific parsing API to ltac/ folder.Pierre-Marie Pédrot
2016-09-14Moving the tactic-in-term extension from G_constr to G_ltac.Pierre-Marie Pédrot
2016-09-14Allowing to extend the Print Grammar command generically.Pierre-Marie Pédrot
We also move the Ltac-specific grammar to its folder.
2016-09-14Merge branch 'v8.6'Pierre-Marie Pédrot
2016-09-13Fixing #5078 (wrong detection of evaluable local hypotheses).Hugo Herbelin
2016-09-13LtacProp: fix reset_profile (fix #5079)Enrico Tassi
2016-09-11Fix newlines in printout of LtacProfJason Gross
Previously, newlines were missing if a node had no children.
2016-09-11Revert the LtacProf tactic table headerJason Gross
This removes a space (making the final letter of the right-aligned columns line come right before the vertical separators, rather than overlapping them), and left-aligns "tactic", as it was in Tobias' original code, which I think is easier to read. (This way, the alignment of the headers matches the alignment of the entries.)
2016-09-11Move Ltac-specific components from G_proofs to G_ltac.Pierre-Marie Pédrot
2016-09-09Fix bug #3920 for good after 44ada64.Pierre-Marie Pédrot
The previous commit did not apply the beta reduction for compatibility on the correct goal. We rather apply it on the first generated subgoal. This fixes the ergo contrib.
2016-09-08Unplugging Pptactic from Ppvernac.Pierre-Marie Pédrot
2016-09-08Making Proof_global terminator generic in external tactics.Pierre-Marie Pédrot
2016-09-08Making Hints generic in the use of external tactics.Pierre-Marie Pédrot
2016-09-08Making Vernacexpr independent from Tacexpr.Pierre-Marie Pédrot
2016-09-08Merge PR #244.Pierre-Marie Pédrot
2016-09-07Merge branch 'v8.6'Pierre-Marie Pédrot
2016-09-07Removing useless tactic compatibility layer in Rewrite.Pierre-Marie Pédrot
2016-09-07ltacprof: rec-calls are coaleshedEnrico Tassi
2016-09-05profile_ltac: rewritten to be purely functional and STM awareEnrico Tassi
Changes: - data structures are purely functional (so retracting do work) - profiling data flows towards master using the feedback bus - master aggregates the data on printing
2016-09-02Merge branch 'v8.6'Pierre-Marie Pédrot
2016-09-01Moving log of "TacReduce"/"reduce" to Tactics.reduce so that internalHugo Herbelin
calls are logged too. Using appropriate printer for reparsability of the output.
2016-08-30Fix bug #4893: not_evar: unexpected failure in 8.5pl1.Pierre-Marie Pédrot
2016-08-30Fix bug #3920: eapply masks an hypothesis name.Pierre-Marie Pédrot
The problem came from the fact that the legacy beta-reduction occurring after a rewrite was wrongly applied to the side-conditions of the rewriting step. We restrict it to the correct goal in this patch.
2016-08-30CLEANUP: switching from "right-to-left" to "left-to-right" function ↵Matej Kosik
composition operator. Short story: This pull-request: (1) removes the definition of the "right-to-left" function composition operator (2) adds the definition of the "left-to-right" function composition operator (3) rewrites the code relying on "right-to-left" function composition to rely on "left-to-right" function composition operator instead. Long story: In mathematics, function composition is traditionally denoted with ∘ operator. Ocaml standard library does not provide analogous operator under any name. Batteries Included provides provides two alternatives: _ % _ and _ %> _ The first operator one corresponds to the classical ∘ operator routinely used in mathematics. I.e.: (f4 % f3 % f2 % f1) x ≜ (f4 ∘ f3 ∘ f2 ∘ f1) x We can call it "right-to-left" composition because: - the function we write as first (f4) will be called as last - and the function write as last (f1) will be called as first. The meaning of the second operator is this: (f1 %> f2 %> f3 %> f4) x ≜ (f4 ∘ f3 ∘ f2 ∘ f1) x We can call it "left-to-right" composition because: - the function we write as first (f1) will be called first - and the function we write as last (f4) will be called last That is, the functions are written in the same order in which we write and read them. I think that it makes sense to prefer the "left-to-right" variant because it enables us to write functions in the same order in which they will be actually called and it thus better fits our culture (we read/write from left to right).
2016-08-25Merge remote-tracking branch 'v8.6' into trunkMatej Kosik
2016-08-24CLEANUP: minor readability improvementsMatej Kosik
mainly concerning referring to "Context.{Rel,Named}.get_{id,value,type}" functions. If multiple modules define a function with a same name, e.g.: Context.{Rel,Named}.get_type those calls were prefixed with a corresponding prefix to make sure that it is obvious which function is being called.
2016-08-23Fix bug #4914: LtacProf printout has too many newlines.Pierre-Marie Pédrot
2016-08-21Merge branch 'v8.6'Pierre-Marie Pédrot
2016-08-19Moving Taccoerce to ltac/ folder.Pierre-Marie Pédrot
This was an overlook. There was no reason to let it in the tactics/ folder, as is was semantically part of the Ltac implementation.
2016-08-19Make the user_err header an optional parameter.Emilio Jesus Gallego Arias
Suggested by @ppedrot
2016-08-19Remove errorlabstrm in favor of user_errEmilio Jesus Gallego Arias
As noted by @ppedrot, the first is redundant. The patch is basically a renaming. We didn't make the component optional yet, but this could happen in a future patch.
2016-08-19Unify location handling of error functions.Emilio Jesus Gallego Arias
In some cases prior to this patch, there were two cases for the same error function, one taking a location, the other not. We unify them by using an option parameter, in the line with recent changes in warnings and feedback. This implies a bit of clean up in some places, but more importantly, is the preparation for subsequent patches making `Loc.location` opaque, change that could be use to improve modularity and allow a more functional implementation strategy --- for example --- of the beautifier.
2016-08-18Merge remote-tracking branch 'github/bug4188' into v8.6Matthieu Sozeau
2016-08-18Fix bug #4939: LtacProf prints tactic notations weirdly.Pierre-Marie Pédrot
2016-08-17Fix setoid_rewrite to raise proper errorsMatthieu Sozeau
when the rewrite lemma doesn't typecheck or does not correspond to a relation.
2016-08-17Merge branch 'v8.6'Pierre-Marie Pédrot
2016-08-16Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2016-07-29Merge remote-tracking branch 'gforge/v8.5' into v8.6Matthieu Sozeau
2016-07-26Merge branch 'v8.6' into trunkPierre Letouzey
2016-07-21Fix bug #4679, weakened setoid_rewrite unificationMatthieu Sozeau
It should use evar instantiations eagerly during unification of the lhs of the lemma, as in 8.4.
2016-07-12Renouncing for uniformity to the few instances of pf_interp_* in Tacinterp.Hugo Herbelin
2016-07-04Revert "Revert "Improve the interpretation scope of arguments of an ltac ↵Maxime Dénès
match."" We apply this patch to trunk so that it is integrated in 8.6. This reverts commit 0eb08b70f0c576e58912c1fc3ef74f387ad465be.