aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-25Merge PR #10408: Fix coqdoc title: should be on a single line.Vincent Laporte
Reviewed-by: vbgl
2019-06-24[proof] Remove last case of optional `?poly` arguments.Emilio Jesus Gallego Arias
As noted in GitHub discussion, it is a good idea to make `poly` always explicit, this PR does remove last case of `?(poly=false)` in the codebase.
2019-06-24Use named records instead of tuples where `polymorphic` used to be.Gaëtan Gilbert
Followup on "[api] Remove `polymorphic` type alias, use labels instead."
2019-06-24[proof] dev/doc/changes for the last refactoringsEmilio Jesus Gallego Arias
2019-06-24[proof] Move initial_euctx to proof_globalEmilio Jesus Gallego Arias
These are only needed when closing / admitting a proof.
2019-06-24[ci] Overlays for #10316Emilio Jesus Gallego Arias
2019-06-24[proof] API Documentation fixes.Emilio Jesus Gallego Arias
2019-06-24[api] [proof] Move `discharge` type to vernac_ast where it is used.Emilio Jesus Gallego Arias
This seems like the right location, a bit more refactoring should be possible.
2019-06-24[api] Remove `polymorphic` type alias, use labels instead.Emilio Jesus Gallego Arias
This is more in-line with attributes and the rest of the API, and makes some code significantly clearer (as in `foo true false false`, etc...)
2019-06-24[api] Move `locality` from `library` to `vernac`.Emilio Jesus Gallego Arias
This datatype does belong to this layer.
2019-06-24[lemmas] [proof] Split proof kinds into per-layer components.Emilio Jesus Gallego Arias
We split `{goal,declaration,assumption}_kind` into their components. This makes sense as each part of this triple is handled by a different layer, namely: - `polymorphic` status: necessary for the lower engine layers; - `locality`: only used in `vernac` top-level constants - `kind`: merely used for cosmetic purposes [could indeed be removed / pushed upwards] We also profit from this refactoring to add some named parameters to the top-level definition API which is quite parameter-hungry. More refactoring is possible and will come in further commits, in particular this is a step towards unifying the definition / lemma save path.
2019-06-24[proof] More uniformity in proof start labels.Emilio Jesus Gallego Arias
2019-06-24[proof] Remove duplicated universe polymorphic from decl_kindsEmilio Jesus Gallego Arias
This information is already present on `Proof.t`, so we extract it form there. Moreover, this information is essential to the lower-level proof, as opposed to the "kind" information which is only relevant to the vernac layer; we will move it thus to its proper layer in subsequent commits.
2019-06-24[proof] Remove redundant universe declaration information.Emilio Jesus Gallego Arias
This was already in the base proof object however not forwarded by `close_proof`. thus it had to be stored twice. There are more cases like this, like `poly`, all are covered by subsequent commits.
2019-06-24[lemmas] Untabify.Emilio Jesus Gallego Arias
2019-06-24[lemmas] Turn Lemmas.info into a proper type with constructor.Emilio Jesus Gallego Arias
Lemmas.info was a bit out of hand, as well as the parameters to the `start_*` family. Most of the info is not needed and should hopefully remain constrained to special cases, most callers only set the hook, and obligations should be better served by a `start_obligation` function soon.
2019-06-24[fixpoint] Remove code duplication in (co) fixpoint declaration.Emilio Jesus Gallego Arias
2019-06-24[lemmas] Reify proof information for recursive theorems.Emilio Jesus Gallego Arias
Information about interactive mutually recursive proofs was stored as a closure on an ad-hoc hook, then later made available to the hook closing actions. Instead, we put this information in the lemma state and incorporate these declarations into the normal save path. TODO: Should investigate what's going on with implicits, maybe submit a separate PR.
2019-06-24[lemmas] Reify info for implicits, univ_decls, prepare for rec_thms.Emilio Jesus Gallego Arias
Key information about an interactive lemma proof was stored as a closure on an ad-hoc hook, then later made available to the hook closing actions. Instead, we put this information in the lemma state and incorporate these declarations into the normal save path. We prepare to put the information about rec_thms in the state too.
2019-06-24Merge PR #10428: Remove the export_seff flag from Declare API.Emilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-06-24Remove the export_seff flag from Declare API.Pierre-Marie Pédrot
It was always the negation of the opacity flag.
2019-06-24Merge PR #10406: Desynchronize the type of proof and kernel entriesEmilio Jesus Gallego Arias
Reviewed-by: ejgallego Reviewed-by: gares
2019-06-24[test-suite] Fix printers testGaëtan Gilbert
- fix the printers themselves after discharge was moved to the kernel - change the test to make it more robust In addition to checking that there is no "Error|Unbound" in the output, ensure that the "go" function at the end of base_include is defined. If there are any errors in base_include it won't be defined. This makes us find out that the test was silently failing in all CI jobs except trunk+make. It failed to find the "include" file and so failed with "could not find file include.", which we didn't detect. To fix this: - change automatically included paths in Coqinit.init_ocaml_path to be based on coqlib instead of coqroot. This way top_printers.ml and base_include can find the compiled ml objects. - fix for dune: adapt the script to use include_dune when INSIDE_DUNE, add dependencies to test-suite/dune. The dependencies should be calculated automatically once Dune has better support for debug, or we implement proper support for test printers. Co-authored-by: Emilio Jesus Gallego Arias <e+git@x80.org>
2019-06-24Add overlays.Pierre-Marie Pédrot
2019-06-24Code simplification for definition_entry type.Pierre-Marie Pédrot
2019-06-24Remove the unused opaque_entry_inline_code field from opaque entries.Pierre-Marie Pédrot
2019-06-24Enforce that opaque entries carry their type.Pierre-Marie Pédrot
2019-06-24Dedicated type for opaque entries in the kernel.Pierre-Marie Pédrot
Even more invariants can be enforced this way.
2019-06-24Enforce that transparent entries are forced beforehand.Pierre-Marie Pédrot
2019-06-24Take advantage of the change of entry representation to split opacity status.Pierre-Marie Pédrot
Mere isomorphism for now, but will allow more invariants ultimately.
2019-06-24Duplicate the type of constant entries in Proof_global.Pierre-Marie Pédrot
This allows to desynchronize the kernel-facing API from the proof-facing one.
2019-06-24Move Declare to tactics folder.Pierre-Marie Pédrot
Nobody really knows where this module should belong, it seems. My personal theory is that it should live in vernac instead, but due to nasty interactions with abstract-like tactics, we have to put it somewhere below.
2019-06-24Merge PR #10375: [lexer] correctly update line number when lexing QUOTATION ↵Pierre-Marie Pédrot
(fix #10350) Ack-by: gares Reviewed-by: ppedrot
2019-06-24Merge PR #10394: [ide] chop sentences taking into account QUOTATION tokenPierre-Marie Pédrot
Ack-by: SkySkimmer Ack-by: gares Reviewed-by: ppedrot
2019-06-21Merge PR #10416: Elpi 1.4.0Emilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-06-21Merge PR #9665: [dune] Enable optimization options in the compilation of the VM.Théo Zimmermann
Reviewed-by: SkySkimmer Reviewed-by: Zimmi48
2019-06-21[ci] overlay for coq-elpiEnrico Tassi
2019-06-21[docker] [ci] Update Elpi to version 1.4.0Enrico Tassi
2019-06-21[dune] Enable optimization options in the compilation of the VM.Emilio Jesus Gallego Arias
So far we didn't setup optimization flags for the VM in the Dune build, but time has come to experiment with such flags, we try -O3. Enabling `-flto` in the final binary build would be great, however this seems to break windows.
2019-06-21Merge PR #10414: Add Conda badge to README.mdThéo Zimmermann
Reviewed-by: Zimmi48
2019-06-21Add Conda badge to README.mdSamuel Lelièvre
2019-06-20Add output-coqtop test directory that runs output tests with coqtopJim Fehrle
2019-06-20Merge PR #9645: [proof] Remove terminator type, unifying regular and ↵Pierre-Marie Pédrot
obligation ones. Ack-by: ejgallego Ack-by: gares Reviewed-by: ppedrot
2019-06-20Fix coqdoc title: should be on a single line.Théo Zimmermann
Otherwise coqdoc doesn't understand it is still the title.
2019-06-19[Fail] Tweaks to implementation.Emilio Jesus Gallego Arias
We handle state restoration outside the main fail logic, as in the future it could be that vernac execution is fully functional so we could get rid of the second part.
2019-06-19[Fail] Simplify `Fail` implementation.Emilio Jesus Gallego Arias
We can now implement `Fail` in a direct style.
2019-06-19Merge PR #10380: [errors] remove "is_handled" logic, turn unhandled into ↵Gaëtan Gilbert
anomalies Reviewed-by: SkySkimmer Reviewed-by: gares
2019-06-19[test] unit tests for ide/coq_lex.mlEnrico Tassi
2019-06-19Removed backtracking and default variants of various functions and added ↵Michael Soegtrop
option combinators
2019-06-19[test-suite] support for unit-tests/ide/ tests linking coq.ideEnrico Tassi