aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-01Merge PR#449: make specialize smarter (bug 5370).Maxime Dénès
2017-06-01Merge PR#670: Postponing of universe constraints unification in term equality.Maxime Dénès
2017-06-01Merge PR#696: Trunk+cleanup constr of globalMaxime Dénès
2017-06-01Remove a post merge warning.Maxime Dénès
2017-06-01Merge PR#561: Improving the Name APIMaxime Dénès
2017-06-01Merge PR#694: Fixing #5523 (missing support for complex constructions in ↵Maxime Dénès
recursive notations) (bis)
2017-06-01Merge PR#704: Fix empty parentheses display in test-suiteMaxime Dénès
2017-05-31Merge PR#701: [readlink -f] doesn't work on OSXMaxime Dénès
2017-05-31Merge PR#248: Adding eassert, eset, epose, etc.Maxime Dénès
2017-05-31Tests for new specialize feature + CHANGES.Pierre Courtieu
2017-05-31Documenting the new behaviour of specialize.Pierre Courtieu
2017-05-31Make specialize smarter.Pierre Courtieu
Now when a partial with-binding is given the unsolved parameters are left quantified. A letin is added when mixing (fun x => ...) and with-bindings.
2017-05-31Merge PR#700: make sure that "ocamllibdep" properly recognizes Ocaml that ↵Maxime Dénès
are composed from uppercase letters
2017-05-31Creating a module Nameops.Name extending module Names.Name.Hugo Herbelin
This module collects the functions of Nameops which are about Name.t and somehow standardize or improve their name, resulting in particular from discussions in working group. Note the use of a dedicated exception rather than a failwith for Nameops.Name.out. Drawback of the approach: one needs to open Nameops, or to use long prefix Nameops.Name.
2017-05-31Renaming interp_rawcontext_evars using a more "standard" name.Hugo Herbelin
2017-05-31Fixing #5523 (missing support for complex constructions in recursive notations).Hugo Herbelin
We get rid of a complex function doing both an incremental comparison and an effect on names (Notation_ops.compare_glob_constr). For the effect on names, it was actually already done at the time of turning glob_constr to notation_constr, so it could be skipped here. For the comparison, we rely on a new incremental variant of Glob_ops.glob_eq_constr (thanks to Gaëtan for getting rid of the artificial recursivity in mk_glob_constr_eq). Seizing the opportunity to get rid of catch-all clauses in pattern-matching (as advocated by Maxime). Also make indentation closer to the one of other functions.
2017-05-31Fixing a too lax constraint for finding recursive binder part of a notation.Hugo Herbelin
This was preventing to work examples such as: Notation "[ x ; .. ; y ; z ]" := ((x,((fun u => u), .. (y,(fun u =>u,z)) ..))).
2017-05-30Merge PR#706: Add some test-suite generated files to .gitignoreMaxime Dénès
2017-05-30Add some test-suite generated files to .gitignoreJason Gross
2017-05-30Fix empty parentheses display in test-suiteJason Gross
There was an extra trailing space in #680. Now things display as, e.g., ``` TEST bugs/opened/3754.v TEST bugs/opened/4803.v (-compat 8.4) ``` instead of ``` TEST bugs/opened/3754.v ( ) TEST bugs/opened/4803.v (-compat 8.4 ) ```
2017-05-30[readlink -f] doesn't work on OSXGaëtan Gilbert
We only want an absolute path, no need to follow symlinks.
2017-05-30Support for using type information to infer more precise evar sources.Hugo Herbelin
This allows a better control on the name to give to an evar and, in particular, to address the issue about naming produced by "epose proof" in one of the comment of Zimmi48 at PR #248 (see file names.v). Incidentally updating output of Show output test (evar numbers shifted).
2017-05-30Documentation for eassert, eenough, epose proof, eset, eremember, epose.Hugo Herbelin
Includes fixes and suggestions from Théo.
2017-05-30Few tests for e-variants of assert, set, remember.Hugo Herbelin
2017-05-30Adding "epose", "eset", "eremember" which allow to set terms withHugo Herbelin
evars. This is for consistency with the rest of the language. For instance, "eremember" and "epose" are supposed to refer to terms occurring in the goal, hence not leaving evars, hence in general pointless. Eventually, I guess that "e" should be a modifier (see e.g. the discussion at #3872), or the difference is removed.
2017-05-30Adding "eassert", "eenough", "epose proof", which allow to stateHugo Herbelin
a goal with unresolved evars.
2017-05-30make sure that "ocamllibdep" properly recognizes Ocaml modules that are all ↵Matej Košík
upper-case At the moment, when one tries to add an Ocaml module to Coq code-base which is composed just from upper-cases letters, the compilation fails with an error: File "......ml", line 1: Error: Error while linking ... Reference to undefined global `FOO' This commit removes the restriction.
2017-05-30Merge PR#356: Making management of installation directories more structured, ↵Maxime Dénès
more uniform
2017-05-30Merge PR#692: Fail on deprecated warning even for Ocaml > 4.02.3Maxime Dénès
2017-05-29Merge PR#687: Gitlab CIMaxime Dénès
2017-05-29Pretyping cleanup: remove constr_of_global callsMatthieu Sozeau
2017-05-29tactics cleanup: remove constr_of_global callsMatthieu Sozeau
2017-05-29Merge PR#690: [stm] Uniformize `Sideff / Sideff.Maxime Dénès
2017-05-29Ltac cleanup: no more constr_of_global callsMatthieu Sozeau
2017-05-29Equality cleanup: remove constr_of_globalMatthieu Sozeau
2017-05-29Command.ml cleanup: remove constr_of_global callsMatthieu Sozeau
2017-05-29Merge PR#555: Missing optimization when Kernel Term Sharing is disabled.Maxime Dénès
2017-05-29Configuration with -local definitively seen as an installation layout like ↵Hugo Herbelin
others.
2017-05-29Using the same strategy in coqdoc than in coqtop to guess the coqlib.Hugo Herbelin
2017-05-29Relying on computation done in Envars to discover the installation directories.Hugo Herbelin
This allows to share the test for possible relocalisation done in envars.ml.
2017-05-29Generalizing to docdir and datadir the test for a relocated installation.Hugo Herbelin
Also standardizing the choice of the default datadir (I don't see why we should add by default both /usr/local/share/coq and /usr/share/coq when we know that the installation is in only one of them). Open question: test for possible relocation of the installed coq should be done on raw dirname of the executable or on the standardization of this name wrt symbolic links?
2017-05-29Exporting the suffixes needed to build coqlib, docdir, etc.Hugo Herbelin
This allows to centralize in the configuration file the description of the 3 possible installation layouts (dispatched over directories shared by multiple application as in unix, self-contained style like in windows, local non-installation as with option -local). Also supporting relocalisation when -prefix or -libdir and co is given.
2017-05-29Using Coq_config.local rather than None to tell that Coq_config.coqlib is local.Hugo Herbelin
This goes towards an approach where a local layout can be seen as an installed layout.
2017-05-29Cleanup: removal of constr_of_global.Matthieu Sozeau
Constrintern.pf_global returns a global_reference, not a constr, adapt plugins accordingly, properly registering universes where necessary.
2017-05-29Configure: viewing compilation in -local itself as an installation layout.Hugo Herbelin
Consequence: docdir is always defined, no more "" in external preferences for manual and stdlib when using coqide in -local mode.
2017-05-29Configuration: always giving a value to configdir and datadir.Hugo Herbelin
They were not used for looking for coqide files in the situation when the effective installation path happens to be exactly the installation path proposed by default, while relevant files were however (possibly) installed in these directories.
2017-05-29More structure and more code factorization in building defaultHugo Herbelin
installation paths in unix or win32. There are two layouts (self-contained or unix-like) and we build absolute paths from them. Under unix, there is a fully relative layout (when user gives a prefix) and a standard semi-relative layout (where most file are under /usr/local with the absolute /etc/xdg/coq as an exception). I respected the existing semantics that under cygwin, the unix layout is the default one when prefix is not given, but the self-contained layout is the default one when a prefix is given.
2017-05-29Unifying the layout of installation directories.Hugo Herbelin
There seems to have been several bugs, when -prefix is given: - Under win32: "" instead of "lib" (presumably introduced in ab442aed8, 2006) - Under win32: datadir, mandir, docdir should presumably be in "share", "man", "doc", as given in default - Under non-win32: coqdoc files should be in latex subdir not emacs subdir
2017-05-29Unified terminology in configure.ml/coq_config.ml: arch_win32 -> arch_is_win32.Hugo Herbelin
2017-05-29Mini-renaming in configure.ml to avoid switching back and forth fromHugo Herbelin
"libdir" to "COQLIBINSTALL" then "libdir", then "coqlib". For the record, here is how installation options are named at the current time in the different places they are used (if any): Name in Name in Name in Name of option Name in Name of option config/Makefile coqtop -config config/coq_config.ml in configure lib/envars.ml for coqtop/coqdep -------------------------------------------------------------------------------------------------------- COQLIBINSTALL COQLIB coqlib -libdir coqlib -coqlib DOCDIR DOCDIR docdir -docdir docdir CONFIGDIR configdir -configdir DATADIR datadir -datadir BINDIR -bindir MANDIR -mandir EMACSLIB -emacslib COQDOCDIR -coqdocdir Note: in envars.ml, docdir and coqlib are recomputed