aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Remove duplicate declarations.Gravatar Guillaume Melquiond2016-01-02
|
* Reduce dependencies of interface files.Gravatar Guillaume Melquiond2016-01-02
|
* Avoid warnings about loop indices.Gravatar Guillaume Melquiond2016-01-02
|
* Remove useless rec flags.Gravatar Guillaume Melquiond2016-01-02
|
* Simplification of grammar_prod_item type.Gravatar Pierre-Marie Pédrot2016-01-02
| | | | Actually the identifier was never used and just carried along.
* Proper datatype for EXTEND syntax tokens.Gravatar Pierre-Marie Pédrot2016-01-02
|
* Separation of concern in TacAlias API.Gravatar Pierre-Marie Pédrot2016-01-02
| | | | | The TacAlias node now only contains the arguments fed to the tactic notation. The binding variables are worn by the tactic representation in Tacenv.
* Fix typos.Gravatar Guillaume Melquiond2016-01-01
|
* Remove unused hashconsing code.Gravatar Guillaume Melquiond2016-01-01
|
* Do not make it harder on the compiler optimizer by packing arguments.Gravatar Guillaume Melquiond2016-01-01
|
* Remove unused functions.Gravatar Guillaume Melquiond2016-01-01
|
* Remove unplugged button from the interface.Gravatar Guillaume Melquiond2016-01-01
|
* Remove useless recursive flags.Gravatar Guillaume Melquiond2016-01-01
|
* Remove unused open.Gravatar Guillaume Melquiond2016-01-01
|
* Remove duplicate declarations.Gravatar Guillaume Melquiond2016-01-01
|
* Remove unused function Checker.print_loc.Gravatar Guillaume Melquiond2015-12-31
| | | | There is no location to print anyway, so it will never be useful.
* Merge branch 'v8.5' into trunkGravatar Guillaume Melquiond2015-12-31
|\
* | Do not compose List.length with List.filter.Gravatar Guillaume Melquiond2015-12-31
| |
* | Remove Library.mem, which is pointless since 8.5.Gravatar Guillaume Melquiond2015-12-31
| |
| * Do not dump a glob reference when its location is ghost. (Fix bug #4469)Gravatar Guillaume Melquiond2015-12-31
| | | | | | | | | | | | | | | | | | | | This patch also causes the code to finish a bit faster in the NoGlob case by not preparing a string for dump_string. It also optimizes Dumpglob.is_ghost by only checking whether the end position is zero. Note that no ghost locations were part of the glob files of the standard library before the patch. Note also that the html documentation of the standard library is bitwise identical before and after the patch.
* | Moving apply_type to new proof engine.Gravatar Hugo Herbelin2015-12-30
| | | | | | | | | | | | Note that code depending on apply_type might now have to ensure that typing constraints that were possibly generated by apply_type are now taken into account in advance.
* | Taking into account generated typing constraints in tactic "generalize".Gravatar Hugo Herbelin2015-12-30
| |
* | Simplifying code of fourier.Gravatar Hugo Herbelin2015-12-30
| |
* | External tactics and notations now accept any tactic argument.Gravatar Pierre-Marie Pédrot2015-12-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit has deep consequences in term of tactic evaluation, as it allows to pass any tac_arg to ML and alias tactics rather than mere generic arguments. This makes the evaluation much more uniform, and in particular it removes the special evaluation function for notations. This last point may break some notations out there unluckily. I had to treat in an ad-hoc way the tactic(...) entry of tactic notations because it is actually not interpreted as a generic argument but rather as a proper tactic expression instead. There is for now no syntax to pass any tactic argument to a given ML or notation tactic, but this should come soon. Also fixes bug #3849 en passant.
| * Fixing bug #4462: unshelve: Anomaly: Uncaught exception Not_found.Gravatar Pierre-Marie Pédrot2015-12-29
| | | | | | | | | | | | | | The rewrite tactic was causing an evar leak because of the use of the Evd.remove primitive. This function did not modify the future goals of the evarmap to remove the considered evar and thus maintained dangling evars in there, causing the anomaly.
* | Removing unused parsing entries.Gravatar Pierre-Marie Pédrot2015-12-28
| |
* | Implementing non-focussed generic arguments.Gravatar Pierre-Marie Pédrot2015-12-28
| | | | | | | | | | | | | | Kind of enhances the situation of bug #4409. Now arguments can be interpreted globally or focussedly in a dynamic fashion because the interpretation function returns a Ftactic.t. The bug is not fixed yet because we should tweak the interpretation of tactic arguments.
* | Removing the special status of open_constr generic argument.Gravatar Pierre-Marie Pédrot2015-12-28
| | | | | | | | | | We also intepret it at toplevel as a true constr and push the resulting evarmap in the current state.
* | Eradicating uses of open_constr in TACTIC EXTEND in favour of uconstr.Gravatar Pierre-Marie Pédrot2015-12-28
| |
* | Factorizing code for untyped constr evaluation.Gravatar Pierre-Marie Pédrot2015-12-27
| |
* | Removing dead code.Gravatar Pierre-Marie Pédrot2015-12-27
| |
* | Tentative API fix for tactic arguments to be fed to tclWITHHOLES.Gravatar Pierre-Marie Pédrot2015-12-27
| | | | | | | | | | | | | | | | | | | | | | The previous implementation was a source of evar leaks if misused, as it created values coming together with their current evar_map. This is dead wrong if the value is not used on the spot. To fix this, we rather return a ['a delayed_open] object. Two argument types were modified: bindings and constr_bindings. The open_constr argument should also be fixed, but it is more entangled and thus I leave it for another commit.
* | Moving basic generalization tactics upwards for possible use in "intros".Gravatar Hugo Herbelin2015-12-25
| |
* | Moving code of specialize so that it can accept "as" (no semantic change).Gravatar Hugo Herbelin2015-12-25
| |
* | Moving specialize to Proofview.tactic.Gravatar Hugo Herbelin2015-12-25
| |
* | Fixing a bug in the order of side conditions for introduction pattern -> and <-.Gravatar Hugo Herbelin2015-12-25
| |
* | Fixing an "injection as" bug in the presence of side conditions.Gravatar Hugo Herbelin2015-12-25
| |
* | Moving the ad hoc interpretation of "intros" as "intros **" from tacinterp.mlGravatar Hugo Herbelin2015-12-25
| | | | | | | | | | to g_tactic.ml4 so as to leave room for "IntroPattern []" to mean "no introduction".
* | Fixing non exhaustive pattern-matching in 003fe3d5e60b.Gravatar Hugo Herbelin2015-12-25
| |
* | Removing auto from the tactic AST.Gravatar Pierre-Marie Pédrot2015-12-24
| |
* | Removing the last quoted auto tactic in Tauto.Gravatar Pierre-Marie Pédrot2015-12-24
| |
* | Partial backtrack on commit 20641795624.Gravatar Pierre-Marie Pédrot2015-12-23
| | | | | | | | | | | | The parsing rules were broken and disallowed tactic replacement of the form Ltac ident ::= expr.
* | Avoid a pointless conversion/copy.Gravatar Guillaume Melquiond2015-12-22
| |
* | Do not compose "str" and "to_string" whenever possible.Gravatar Guillaume Melquiond2015-12-22
| | | | | | | | | | | | For instance, calling only Id.print is faster than calling both str and Id.to_string, since the latter performs a copy. It also makes the code a bit simpler to read.
| * Inclusion of functors with restricted signature is now forbidden (fix #3746)Gravatar Pierre Letouzey2015-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous behavior was to include the interface of such a functor, possibly leading to the creation of unexpected axioms, see bug report #3746. In the case of non-functor module with restricted signature, we could simply refer to the original objects (strengthening), but for a functor, the inner objects have no existence yet. As said in the new error message, a simple workaround is hence to first instantiate the functor, then include the local instance: Module LocalInstance := Funct(Args). Include LocalInstance. By the way, the mod_type_alg field is now filled more systematically, cf new comments in declarations.mli. This way, we could use it to know whether a module had been given a restricted signature (via ":"). Earlier, some mod_type_alg were None in situations not handled by the extraction (MEapply of module type). Some code refactoring on the fly.
* | Move the From logic to Loadpath.expand_path.Gravatar Guillaume Melquiond2015-12-22
| |
* | Do not query module files that have already been loaded.Gravatar Guillaume Melquiond2015-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | For a script that does just "Require Reals", this avoids 40k queries. Note that this changes the signature of the FileDependency feedback. Indeed, it no longer provides the physical path to the dependency but only its logical path (since the physical path is no longer available). The physical path could still have been recovered thanks to the libraries_filename_table list. But due to the existence of the overwrite_library_filenames function, its content cannot be trusted. So anyone interested in the actual physical path should now also rely on the FileLoaded feedback.
* | ARGUMENT EXTEND shares the toplevel representation when possible.Gravatar Pierre-Marie Pédrot2015-12-21
| |
* | Finer-grained types for toplevel values.Gravatar Pierre-Marie Pédrot2015-12-21
| |
* | Removing ad-hoc interpretation rules for tactic notations and their genarg.Gravatar Pierre-Marie Pédrot2015-12-21
| | | | | | | | | | | | Now that types can share the same dynamic representation, we do not have to transtype the topelvel values dynamically and just take advantage of the standard interpretation function.