aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-27[coqlib] Move `Coqlib` to `library/`.Emilio Jesus Gallego Arias
We move Coqlib to library in preparation for the late binding of Gallina-level references. Placing `Coqlib` in `library/` is convenient as some components such as pretyping need to depend on it. By moving we lose the ability to locate references by syntactic abbreviations, but IMHO it makes to require ML code to refer to a true constant instead of an abbreviation/notation. Unfortunately this change means that we break the `Coqlib` API (providing a compatibility function is not possible), however we do so for a good reason. The main changes are: - move `Coqlib` to `library/`. - remove reference -> term from `Coqlib`. In particular, clients will have different needs with regards to universes/evar_maps, so we force them to call the (not very safe) `Universes.constr_of_global` explicitly so the users are marked. - move late binding of impossible case from `Termops` to `pretying/Evarconv`. Remove hook. - `Coqlib.find_reference` doesn't support syntactic abbreviations anymore. - remove duplication of `Coqlib` code in `Program`. - remove duplication of `Coqlib` code in `Ltac.Rewrite`. - A special note about bug 5066 and commit 6e87877 . This case illustrates the danger of duplication in the code base; the solution chosen there was to transform the not-found anomaly into an error message, however the general policy was far from clear. The long term solution is indeed make `find_reference` emit `Not_found` and let the client handle the error maybe non-fatally. (so they can test for constants.
2017-05-27[coqlib] Deprecate redundant Coqlib functions.Emilio Jesus Gallego Arias
We remove redundant functions `coq_constant`, `gen_reference`, and `gen_constant`. This is a first step towards a lazy binding of libraries references. We have also chosen to untangle `constr` from `Coqlib`, as how to instantiate the reference (in particular wrt universes) is a client-side issue. (The client may want to provide an `evar_map` ?) c.f. #186
2017-05-27Merge PR#686: [travis] temporary UniMath overlayMaxime Dénès
2017-05-27[travis] temporary UniMath overlayMaxime Dénès
We are waiting for an upstream merge of a fix related to coq_makefile2.
2017-05-26Merge PR#666: romega revisited : no more normalization trace, cleaned-up ↵Maxime Dénès
resolution trace
2017-05-26Merge PR#655: Extra functions exported in EConstrMaxime Dénès
2017-05-25Merge PR#645: [stm] Tweak debug options.Maxime Dénès
2017-05-25Merge PR#637: Short cleaning of the interpretation path for constr_with_bindingsMaxime Dénès
2017-05-25Merge PR#608: Allow Ltac2 as a pluginMaxime Dénès
2017-05-25Merge PR#481: [option] Remove support for non-synchronous options.Maxime Dénès
2017-05-25Merge PR#406: coq makefile2Maxime Dénès
2017-05-25Merge PR#402: Uniform attribute handling in interfacesMaxime Dénès
2017-05-25[location] [travis] Add overlays for located_switchEmilio Jesus Gallego Arias
2017-05-24[location] Fix warnings.Emilio Jesus Gallego Arias
2017-05-24[location] Renaming "CAst.ast" to "CAst.t"Matej Košík
2017-05-24Merge branch 'trunk' into located_switchEmilio Jesus Gallego Arias
2017-05-24ROmega: division-aware ReflOmegaCore, allowing trace without termsPierre Letouzey
The trace only mentions the constant k by which we want to divide the equation, not anymore the equation we obtain after the division. Shorter trace, and it won't take much more time to perform the few Z.div than checking as currently the equality of the initial equation and the final equation multiplied by k.
2017-05-24[option] Remove support for non-synchronous options.Emilio Jesus Gallego Arias
Inspired by https://coq.inria.fr/bugs/show_bug.cgi?id=5229 , which this PR solves, I propose to remove support for non-synchronous options. It seems the few uses of `optsync = false` we legacy and shouldn't have any impact. Moreover, non synchronous options may create particularly tricky situations as for instance, they won't be propagated to workers.
2017-05-24coq_makefile: use -include rather than includeEnrico Tassi
This fixes bedrock and eliminates warnings. Thanks Jason Gross for debugging this!
2017-05-24Merge PR#642: Small cleanup on `close_proof` type.Maxime Dénès
2017-05-24Merge PR#650: Fixing an extra bug with pattern_of_constrMaxime Dénès
2017-05-24Merge PR#671: unification.mli: Fix a spelling typo in a commentMaxime Dénès
2017-05-23unification.mli: Fix a spelling typo in a commentJason Gross
2017-05-23add the only targetEnrico Tassi
This makes the following work correctly: make only TGTS="foo bar" -j2 note that make foo bar -j2 is not doing what you think
2017-05-23travis: coq_makefile needs the tipa packageEnrico Tassi
2017-05-23overlay for UniMathEnrico Tassi
2017-05-23coq_makefile: avoid spurious ./ in generated .conf fileEnrico Tassi
2017-05-23Restore 8.5, 8.6 compatibility of STDTIME, TIMECMDJason Gross
2017-05-23coq_makefile: don't quote extra arguments (-arg)Enrico Tassi
Restores compatibility with 8.6
2017-05-23Make install a single colon target for retro compatibilityEnrico Tassi
2017-05-23enters coq_makefile2Enrico Tassi
2017-05-23test suite for coq_makefile2Enrico Tassi
2017-05-23coqdep: remove optimization making makefiles harder to writeEnrico Tassi
2017-05-23ocamlfind: coqtop -config prints ocamlfind as found by ./configureEnrico Tassi
Used to guess again the ocamlfind location at Coq's execution time. An option to override the value (inferred at ./configure time) is available. So, what is the point of guessing it? Either it stays there, or the user is doing a hack, and has a flag to do it.
2017-05-23coqdep: set FOR_PACK variable for files that need to be packedEnrico Tassi
This enables one to have just one rule to compile .ml -> .cmx. By using $(FOR_PACK) in such rule one passes to ocamlopt -for-pack ModName only when necessary. Before this coq_makefile had to generate 2 different rules, depending if the module was mentioned in an .mlpack.
2017-05-23print_config: print COQ_SRC_SUBDIRSEnrico Tassi
This way a makefile can just iterate on this list, intead of having a bunch of -I hardcoded in there by coq_makefile
2017-05-23Document --print-version in UsageEnrico Tassi
2017-05-23Put the list of Coq sources subdirectories in one placeEnrico Tassi
and avoid duplication
2017-05-23Usage.print_config moved to EnvarsEnrico Tassi
2017-05-23CoqProject_file: document in API deprecated featuresEnrico Tassi
2017-05-23CoqProject_file: API and code cleanup (tuples -> records)Enrico Tassi
2017-05-23ide/project_file.ml4 -> lib/coqProject_file.ml4 + .mliEnrico Tassi
The .mli only acknowledges the current API. I'm not guilty your honor!
2017-05-23ide/project_fie.ml4: include standard banner with copyrightEnrico Tassi
2017-05-23test suite for coq_makefileEnrico Tassi
2017-05-23configure: -local set coqdoc destination dir to ./doc rather than ""Enrico Tassi
2017-05-23Bigint.euclid: clarify which sign convention is usedPierre Letouzey
2017-05-23Merge PR#661: Added a test for #4765 (an example of printing abbreviation ↵Maxime Dénès
with binders)
2017-05-23Merge PR#659: Mention ./configure in INSTALL.docMaxime Dénès
2017-05-23Merge PR#657: [test-suite] Add tests for goal printing.Maxime Dénès
2017-05-23Merge PR#646: Revised behavior on ill-formed identifiersMaxime Dénès