aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-07Extraction cosmetic: no whitespaces in printing empty modulesPierre Letouzey
2017-02-07Extraction: remove the "print to devnull" hack now that pp isn't lazy anymorePierre Letouzey
2017-02-07Extraction: avoid deprecated functions of module StringPierre Letouzey
- A few tweaks of string are now done via the Bytes module - lots of String.capitalize_ascii and co
2017-02-07Extraction: simplify the generated code for difficult name conflictsPierre Letouzey
No more pp_alias_spec et pp_alias_decl. Instead, we use "include" and "module type of". The extracted code might hence need OCaml 3.12 (quite rarely)
2017-02-07Extraction : get_duplicates (via option) instead of check_duplicates (via ↵Pierre Letouzey
Not_found) This clarifies the execution flow
2017-02-07configure: avoid deprecated warningsPierre Letouzey
2017-02-07Extraction: fix complexity issue #5310Pierre Letouzey
A double call to pp_module_type inside Ocaml.pp_specif was causing an complexity blowup when pretty-printing heavily modular extracted code. I wasn't able to figure out why this double call is there. It could be the leftover of some intermediate work in 2007 before commit 350398eae (which introduced global printing phases Pre/Impl/Intf). Anyway I'm reasonably sure that today these two pp_module_type calls produce the exact same pretty-printed signature (even if there's a large bunch of imperative states around). Moreover, this duplicated signature is actually slightly wrong: when we alias a module M with a unambiguous name like Coq__123, the type of Coq__123 should not be an exact copy of the type of M, but rather a "strengthened" version of it (with equality between inductive types). So the best solution is now to use this funny feature of OCaml introduced in 3.12 : module Coq__123 : module type of struct include M end This "module type of struct include" is slightly awkward, but short, correct, and trivial to produce :-). And I doubt anybody will object to the (rare) use of some 3.12 features in extracted code of 2017...
2017-02-07Extraction: fix complexity issue #5310Pierre Letouzey
A double call to pp_module_type inside Ocaml.pp_specif was causing an complexity blowup when pretty-printing heavily modular extracted code. I wasn't able to figure out why this double call is there. It could be the leftover of some intermediate work in 2007 before commit 350398eae (which introduced global printing phases Pre/Impl/Intf). Anyway I'm reasonably sure that today these two pp_module_type calls produce the exact same pretty-printed signature (even if there's a large bunch of imperative states around). Moreover, this duplicated signature is actually slightly wrong: when we alias a module M with a unambiguous name like Coq__123, the type of Coq__123 should not be an exact copy of the type of M, but rather a "strengthened" version of it (with equality between inductive types). So the best solution is now to use this funny feature of OCaml introduced in 3.12 : module Coq__123 : module type of struct include M end This "module type of struct include" is slightly awkward, but short, correct, and trivial to produce :-). And I doubt anybody will object to the (rare) use of some 3.12 features in extracted code of 2017...
2017-02-07Extraction: fix complexity issue #5310Pierre Letouzey
A double call to pp_module_type inside Ocaml.pp_specif was causing an complexity blowup when pretty-printing heavily modular extracted code. I wasn't able to figure out why this double call is there. It could be the leftover of some intermediate work in 2007 before commit 350398eae (which introduced global printing phases Pre/Impl/Intf). Anyway I'm reasonably sure that today these two pp_module_type calls produce the exact same pretty-printed signature (even if there's a large bunch of imperative states around). Moreover, this duplicated signature is actually slightly wrong: when we alias a module M with a unambiguous name like Coq__123, the type of Coq__123 should not be an exact copy of the type of M, but rather a "strengthened" version of it (with equality between inductive types). So the best solution is now to use this funny feature of OCaml introduced in 3.12 : module Coq__123 : module type of struct include M end This "module type of struct include" is slightly awkward, but short, correct, and trivial to produce :-). And I doubt anybody will object to the (rare) use of some 3.12 features in extracted code of 2017...
2017-02-07Merge PR#425: [travis] [External CI] [geocoq] don't build slow fileMaxime Dénès
2017-02-07Add test-suite files for hintdb variables in Ltac.Théo Zimmermann
In particular, this closes bug 2417.
2017-02-07Remove hackish autounfoldify now that hintdb can be bound to Ltac variables.Théo Zimmermann
It will be possible to replace any call to 'autounfoldify x' with 'autounfold with x'.
2017-02-07pre_ident can be bound to Ltac variables.Théo Zimmermann
The use case is to take a hint database as an argument of Ltac or Tactic Notation.
2017-02-07[travis] [External CI] [geocoq] don't build slow fileEmilio Jesus Gallego Arias
Unfortunately `Ch16_coordinates_with_functions.v` takes alone ~15 minutes which is too much for Travis. Pity, because it was a nice use case.
2017-02-07Merge PR#424: [travis] [External CI] iris-coq: fix dependenciesMaxime Dénès
2017-02-07[travis] [External CI] iris-coq: fix dependenciesEmilio Jesus Gallego Arias
2017-02-07Type cleanup in `Metasyntax`Emilio Jesus Gallego Arias
Types were a bit difficult to read as they were mostly based on anonymous products, this commit replaces them by named records and refactors out some imperative code. There is still quite a bit of room for improvement, but at least the records provide a basis for more fine-grained understanding and documentation.
2017-02-07Merge PR#421: [travis] Perform parallel testingMaxime Dénès
2017-02-07[travis] [External CI] GeoCoqEmilio Jesus Gallego Arias
2017-02-07[travis] Enable 32bit test-suite + validate.Emilio Jesus Gallego Arias
2017-02-07[travis] Move ci files from `tools` to `dev`.Maxime Dénès
2017-02-07[travis] [External CI] C-Corn color coquelicot cpdt fiat-crypto floqc ↵Emilio Jesus Gallego Arias
iris-coq math-classes sf - [TLC] [metacoq] not ready for 8.6 yet
2017-02-07[travis] [External CI] Script renaming.Emilio Jesus Gallego Arias
2017-02-07[travis] Improvements to main scriptEmilio Jesus Gallego Arias
- Add README.ci Suggestions and comments welcome. - Use the system compiler to get some boot speedup. - Build log folding. - Set NJOBS=2 (very moderate speedup) - Set language to a defined value. OPAM itself recommends C, so we follow suit. - Remove spurious `.opam`test No harm in testing we are in the right opam setting even if the cache did exist. Anyways, it seems that the previous was spurious, as it was testing if ~/coq/.opam did exists. I think the correct command would have been: ```shell [ -e ${HOME}/.opam ] || opam init ... ``` See the log at https://travis-ci.org/coq/coq/builds/198948812 for an example.
2017-02-07[travis] [External CI] compcert HoTT math-compEmilio Jesus Gallego Arias
- Improve the setup to support external contribs. We use a more minimalistic Coq build, gaining a few extra minutes. - [math-comp] workaround `make -j` bug to enable parallel building.
2017-02-06[travis] Run tests using a parallel matrix.Emilio Jesus Gallego Arias
We also optimize `travis_wait` use.
2017-02-06Merge PR#419: [travis] CoqIde + doc + last available LSTMaxime Dénès
2017-02-06fix Emacs compiler warning on '(lambda...)Hendrik Tews
lambda is self-quoting, see elisp manual, section 12.7 Anonymous Functions
2017-02-04[travis] : more apt deps + parallel jobs + non-container basedPierre-Yves Strub
2017-02-04[travis] CoqIde + doc + last available LSTPierre-Yves Strub
2017-02-03Merge PR#418: Travis CI configurationMaxime Dénès
Commits were squashed.
2017-02-03Travis CI configuration. Runs validate & test-suite.Pierre-Yves Strub
2017-02-02Fixing an anomaly with 'pat after cofix.Hugo Herbelin
2017-02-01Merge branch 'v8.6'Pierre-Marie Pédrot
2017-02-01Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2017-01-31Fixing #5311 (anomaly on unexpected intro pattern).Hugo Herbelin
This was introduced in 8.5 while reorganizing the structure of intro-patterns.
2017-01-30Proof clean-up.Théo Zimmermann
- Do not use induction/elim when not necessary: use destruct or destructive intro-pattern instead. - Do not use heavy automation when lightweight automation is enough. - Prefer shorter proofs when it does not hinder readability. - Do not rely on automatically generated names. - Use bullets.
2017-01-30Merge PR#408: [native comp] Improve error message on linking error.Maxime Dénès
2017-01-30Fix a typo in STM universe communications.Maxime Dénès
2017-01-30Merge PR#355: Remove unused feedback_content: GoalsMaxime Dénès
2017-01-29Remove outdated comment from 2002.Théo Zimmermann
The comment was arguing against the "Proof proof_term." syntax. This syntax is still there 15 years later (while the alternative proposition uses outdated syntax).
2017-01-28Fix bug #5262: Error should tell me which name is duplicated.Pierre-Marie Pédrot
2017-01-28Remove useless commentsGaetan Gilbert
2017-01-27Fix documentation typos.Guillaume Melquiond
2017-01-26Adding a printer for Proof.proof reflecting the focusing layout.Hugo Herbelin
This is a modest contribution serving before all the purpose of displaying the focus stack and the shelf and give_up list. It does not print the sigma (while it could). Any improvements are welcome.
2017-01-26[native comp] Improve error message on linking error.Emilio Jesus Gallego Arias
The native compiler doesn't support `Require` inside `Module` sections in some cases, we improve the error message. See: https://coq.inria.fr/bugs/show_bug.cgi?id=4335 This patch improves the error message and gives the user some feedback.
2017-01-26Fixing #5326 (anomaly on some unsupported case of 'pat).Hugo Herbelin
We complete the support of 'pat in this particular case (a 'pat under a binder in a notation).
2017-01-24Merge PR#383: fix #5244: set printing width ignored when given enough spaceMaxime Dénès
2017-01-23Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2017-01-23Fixing unification regression #5323.Hugo Herbelin
Tracking conversion problems to reconsider was lost for evars subject to restriction (field last_mods was not updated and conversion problems not considered to be changed).