aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-06-13
|\
| * evar_conv: Refine occur_rigidlyGravatar Matthieu Sozeau2016-06-13
| | | | | | | | | | | | | | This avoids postponing constraints which will surely produce an occur-check and allow to backtrack on first-order unifications producing those constraints directly (e.g. to apply eta). (fixes HoTT/HoTT with 8.5).
| * Tentatively fixing misguiding error message with "binder" type inGravatar Hugo Herbelin2016-06-13
| | | | | | | | non-recursive notations (#4815).
* | For the record, an example one would like to see working.Gravatar Hugo Herbelin2016-06-12
| |
| * Minor simplification in evarconv.Gravatar Hugo Herbelin2016-06-12
| | | | | | | | | | | | Function default_fail was always part of an ise_try. Its associated error message was anyway thrown away. It is then irrelevant and could be made simpler.
| * Another fix to #4782 (a typing error not captured when dealing with bindings).Gravatar Hugo Herbelin2016-06-12
| | | | | | | | | | | | The tentative fix in f9695eb4b (which I was afraid it might be too strong, since it was implying failing more often) indeed broke other things (see #4813).
| * Reserve exception "ConversionFailed" in unification for failure ofGravatar Hugo Herbelin2016-06-12
| | | | | | | | | | | | | | conversion on closed terms. This will be useful to discriminate problems involving the "with" clause and which fails by lack of information or for deeper reasons.
| * Protecting eta-expansion in evarconv.ml against ill-typed problems.Gravatar Hugo Herbelin2016-06-12
| | | | | | | | | | | | This can happen with the "with" clause (see e.g. #4782), but also with recursive calls in first-order unification (e.g. "?n a a b = f a" when a matching between "b" and "a" is tried before expanding f).
| * Fixing bug in printing CannotSolveConstraint (collision of context names).Gravatar Hugo Herbelin2016-06-12
| |
| * Fixing #4782 (a typing error not captured when dealing with bindings).Gravatar Hugo Herbelin2016-06-11
| | | | | | | | | | | | Trying to now catch all unification errors, but without a clear view at whether some errors could be tolerated at the point of checking the type of the binding.
| * Fixing a try with in apply that has become too weak in 8.5.Gravatar Hugo Herbelin2016-06-11
| | | | | | | | | | | | Don't know however what should be the right guard to this try. Now using catchable_exception, but even in 8.4, Failure was caught, which is strange.
* | Merge branch 'pack-plugins'Gravatar Pierre Letouzey2016-06-10
|\ \
* | | coq_makefile: oups, a missing ; in my previous commitGravatar Pierre Letouzey2016-06-10
| | |
| * | coq_makefile: fix a crucial typo in e9c57a3Gravatar Pierre Letouzey2016-06-10
| | |
* | | coq_makefile: short display of COQC and COQDEP (follow-up of e9c57a3)Gravatar Pierre Letouzey2016-06-10
| | |
* | | A mini-optimization for free in unification.ml: test in O(1)Gravatar Hugo Herbelin2016-06-10
| | | | | | | | | | | | complexity comes before tests in O(n) complexity.
| | * Reporting about a few bug fixes (to be continued).Gravatar Hugo Herbelin2016-06-09
| | |
* | | Adding a bit of documentation in the mli.Gravatar Pierre-Marie Pédrot2016-06-09
| | |
* | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-06-09
|\ \ \ | | |/ | |/|
| * | Fixing #4644 (regression of unification on evar-evar problems with a match).Gravatar Hugo Herbelin2016-06-09
| | | | | | | | | | | | | | | Typically, a problem of the form "?x args = match ?y with ... end" was a failure even if miller-unification was applicable.
| * | Minor simplification in evarconv.ml.Gravatar Hugo Herbelin2016-06-09
| | |
| * | New update on how to find camlp5 binary and library at configure time.Gravatar Hugo Herbelin2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renouncing to bypass the library path given by "camlp5o -where" what we assume to be the default library location, considering that -usecamlp5dir is here to deal with the non-standard installation layout. Renouncing to find camlp5 libraries in a subdirectory of the ocaml library directory since we now know that camlp5o is found and that we have a priori to trust option -where of camlp5o. Additionally falling back on looking for camlp4 if a camlp5 library is found but no camlp5 binary. Also using camlp5o as a reference since after all this is camlp5o that we need. In particular, this fixes situations where -usecamlp5dir is given but "camlp5o -where" contradicts it. If something has to be checked on windows, please tell.
| * | Improve the interpretation scope of arguments of an ltac match.Gravatar Hugo Herbelin2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, type_scope is consistently used whether it is an hypothesis or the conclusion, and consistently not used when in "context". The question of a compatibility support, e.g., as suggested by Jason, using a scope is still open though. See reports #3050 and #4398.
| * | Reverting dbdff037 which does not seem to prevent to have #3638 fixedGravatar Hugo Herbelin2016-06-09
| | | | | | | | | | | | | | | on the contrary of message given in 23041481f, while it introduces a square time complexity of the size of the goal in subterm finding.
* | | Documenting API changes in dev/doc/changes.txt.Gravatar Pierre-Marie Pédrot2016-06-09
| | |
* | | Merge PR #190: Add configurable shortcuts for user queries to CoqIDE.Gravatar Pierre-Marie Pédrot2016-06-09
|\ \ \
* \ \ \ Merge PR #197.Gravatar Pierre-Marie Pédrot2016-06-09
|\ \ \ \
| | | * | Remove failure on non-.v files (bug #4752).Gravatar Guillaume Melquiond2016-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error message was not only causing coqtop to exit, but also coqide to crash, which led to a rather poor user experience. Since the code does not actually care about the file extension, this commit just removes the test.
* | | | | Adding profiling developer information in dev/doc/profiling.txt.Gravatar Pierre-Marie Pédrot2016-06-08
| | | | |
| * | | | Add an explicit replacement rule for Refine moduleGravatar Jason Gross2016-06-08
|/ / / /
* | | | coq_makefile: fix a crucial typo in e9c57a3Gravatar Pierre Letouzey2016-06-08
| | | |
* | | | remove grammar/grammar.mllibGravatar Pierre Letouzey2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | grammar.cma is built by Makefile.build in a specific, hardcoded way. Let's remove this old .mllib file to avoid potential confusions in the future.
| | | * Compilation via pack for plugins of the stdlibGravatar Pierre Letouzey2016-06-08
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For now, the pack name reuse the previous .cma name of the plugin, (extraction_plugin, etc). The earlier .mllib files in plugins are now named .mlpack. They are also handled by bin/ocamllibdep, just as .mllib. We've slightly modified ocamllibdep to help setting the -for-pack options: in *.mlpack.d files, there are some extra variables such as foo/bar_FORPACK := -for-pack Baz when foo/bar.ml is mentioned in baz.mlpack. When a plugin is calling a function from another plugin, the name need to be qualified (Foo_plugin.Bar.baz instead of Bar.baz). Btw, we discard the generated files plugins/*/*_mod.ml, they are obsolete now, replaced by DECLARE PLUGIN. Nota: there's a potential problem in the micromega directory, some .ml files are linked both in micromega_plugin and in csdpcert. And we now compile these files with a -for-pack, even if they are not packed in the case of csdpcert. In practice, csdpcert seems to work well, but we should verify with OCaml experts.
* | | Merge branch 'divided-makefile' into trunkGravatar Pierre Letouzey2016-06-08
|\ \ \
| * | | Makefile.build split in many smaller files : Makefile.{ide,checker,dev,install}Gravatar Pierre Letouzey2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | General idea : Makefile.build was far too big to be easy to grasp or maintain, with information scattered everywhere. Let's try to tidy that! Normally, this commit is transparent for the user. We simply regroup some parts of Makefile.build in several new dedicated files: - Makefile.ide - Makefile.checker - Makefile.dev (for printers, revision, extra partial targets, otags) - Makefile.install These new files are "included" at the start of Makefile.build, to provide the same behavior as before, but with a Makefile.build shrinked by 50% (to approx 600 lines). Makefile.build now handles in priority the build of coqtop, minor tools, theories and plugins. Note: this is *not* a separate build system for coqchk nor coqide, even if this can be seen as a first step in this direction (won't be easy anyway to continue, due to the sharing of various stuff in lib and more). In particular Makefile.{coqchk,ide} may rely here and there on some generic rules left in Mafefile.build. Conversely, be sure to prefix rules in Makefile.{coqchk,ide} by checker/... or ide/... in order to avoid interferences with generic rules. Makefile.common is still there, but quite simplified. For instance, some variables that were used only once (e.g. lists of cmo files to link in the various tools) are now defined in Makefile.build, directly where they're needed. THEORIESVO and PLUGINSVO are made directly out of the theories/*/vo.itarget and plugins/*/vo.itarget files, no long manual list of subdirs anymore. Specific sub-targets such as 'reals' still exist, but in Makefile.dev, and they aren't mandatory. Makefile.doc is augmented by the rules building the documentation of the sources via ocamldoc. This classification attempt could probably be improved. For instance, the install rules for coqide are currently in Makefile.ide, but could also go in Makefile.install. Note that I've removed install-library-light which was broken anyway (arith isn't self-contained anymore).
| * | | Makefile: avoid overwriting test.ml when testing grammar.cmaGravatar Pierre Letouzey2016-06-08
| | | |
| * | | Makefile: make clean now removes the .coq-native subdirsGravatar Pierre Letouzey2016-06-08
|/ / / | | | | | | | | | | | | | | | More precisely, we first remove *.native, *.cm*, *.o, which should normally consistute the only content of these .coq-native directories, and then remove these directories if they're indeed empty
* | | Officially discontinue the experimental coq build via ocamlbuildGravatar Pierre Letouzey2016-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | It has been accidentaly broken since early 2014 (and especially in 8.5), no easy repair, I won't devote any more hours to this stuff. Moreover no one seems to care apart from Emilio, but he's ok to work on this in a separate repository or branch. I left a dev/doc/ocamlbuild.txt file with a few words about this experiment.
* | | proofs/proofs.mllib: no more proof_errors !Gravatar Pierre Letouzey2016-06-08
| | |
* | | Search interface revisions.Gravatar Pierre-Marie Pédrot2016-06-07
|\ \ \
| * | | Removing the convenience functions from the Search API.Gravatar Pierre-Marie Pédrot2016-06-07
| | | |
| | | * Fix bug #4777: Printing time is impacted by large terms that don't print.Gravatar Pierre-Marie Pédrot2016-06-07
| | | | | | | | | | | | | | | | | | | | We delay the externalization of application arguments in Constrextern, so that they only get computed when they are actually explicitly displayed.
| | | * Do not use COQLIBS for the validate rule produced by coq_makefile (bug #4693).Gravatar Guillaume Melquiond2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The COQLIBS variable contains some -Q and -I options, which are not supported by the checker. So this commit introduces a COQCHKLIBS variable that contains the proper options for coqchk. For the sake of homogeneity, the COQDOCLIBS variable is also preprocessed in the same way. This means that both variables have the same value, but they are kept separate in case the user would like to override one and not the other. This commit also removes some deprecated options from "coqchk --help". They are not removed from coqchk itself to preserve backward compatibility in the branch. An open question is whether coqchk should support dummy options such as -Q (interpreted as -R) or -I (ignored).
* | | | Merge branch 'trunk' of git+ssh://scm.gforge.inria.fr/gitroot/coq/coq into trunkGravatar Matej Kosik2016-06-07
|\ \ \ \
| * \ \ \ coq_makefile : minor reworkGravatar Pierre Letouzey2016-06-07
| |\ \ \ \
| | * | | | Coq_makefile: code cleanup (less long lines, etc)Gravatar Pierre Letouzey2016-06-07
| | | | | |
| | * | | | coq_makefile: List.iteri is now standard since OCaml 4.00Gravatar Pierre Letouzey2016-06-07
| | | | | |
| | * | | | coq_makefile : short display of commands executed by makeGravatar Pierre Letouzey2016-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This purely cosmetic effect is obtained by the same variables $(SHOW) and $(HIDE) as in the main Makefile of Coq. If you prefer the earlier raw output : make VERBOSE=1
| | * | | | coq_makefile: add some -ml-synonym to the ocamldep rulesGravatar Pierre Letouzey2016-06-07
| |/ / / / | | | | | | | | | | | | | | | | | | | | Without this, dependencies upon a .ml4 (or a .mlpack) won't be handled correctly.
* | | | | typoGravatar Matej Kosik2016-06-07
| | | | |