aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-01[vernac] Mutual theorems (VernacStartTheoremProof) always have namesVincent Laporte
2018-02-01[vernac] Remove VernacGoal, allow anonymous definitions in VernacDefinitionVincent Laporte
2018-01-31CI: Run coqchk on IrisRalf Jung
2018-01-31Proofview: enter_one: add __LOC__ argument to get relevant error msgEnrico Tassi
The type discipline of the tactic monad does not distinguish between mono-goal and multi-goal tactics. Unfortunately enter_one "asserts false" if called on 0 or > 1 goals. The __LOC__:string argument can be used to make the error message more helpful (since the backtrace is pointless inside the monad). The intended usage is "Goal.enter_one ~__LOC__ (fun gl -> ..". The __LOC__ variable is filled in by the OCaml compiler with the current file name and line number.
2018-01-31[stm] Move options to a per-document record.Emilio Jesus Gallego Arias
We gather (almost) all the STM options in a record, now set at document creation time. This is refactoring is convenient for some other ongoing functionalization work.
2018-01-31Merge PR #6601: Circle CI: fix cache selection.Maxime Dénès
2018-01-31Merge PR #6641: ci-compcert.sh: use default value for NJOBS when installing ↵Maxime Dénès
menhir.
2018-01-31Merge PR #6663: [toplevel] Refactor load path handling.Maxime Dénès
2018-01-31Merge PR #6656: Fix #5747: "make validate" fails with "bad recursive trees"Maxime Dénès
2018-01-31Merge PR #6535: Cleanup name-binding structure for fresh evar name generation.Maxime Dénès
2018-01-30Delete duplicate linePaul Steckler
2018-01-30[lib] Respect change of options under with/without_option.Emilio Jesus Gallego Arias
The old semantics of `with/without_option` allowed the called function to modify the value of the option. This is an issue mainly with the `silently/verbose` combinators, as `Set Silent` can be executed under one of them and thus the modification will be lost in the updated code introduced in a554519874c15d0a790082e5f15f3dc2419c6c38 IMHO these kind of semantics are quite messy but we have to preserve them in order for the `Silent` system to work. In fact, note that in the previous code, `with_options` was not consistent with `with_option` [maybe that got me confused?] Ideally we could restore the saner semantics once we clean up the `Silent` system [that is, we remove the flag altogether], but that'll have to wait. Fixes #6645.
2018-01-30Use r.(p) syntax to print primitive projections.Maxime Dénès
There is no way today to distinguish primitive projections from compatibility constants, at least in the case of a record without parameters. We remedy to this by always using the r.(p) syntax when printing primitive projections, even with Set Printing All. The input syntax r.(p) is still elaborated to GApp, so that we can preserve the compatibility layer. Hopefully we can make up a plan to get rid of that layer, but it will require fixing a few problems.
2018-01-30Put default value for NJOBS in ci-common.Gaëtan Gilbert
2018-01-30Adding an overlay for Equations.Pierre-Marie Pédrot
2018-01-30Merge PR #6666: Fix reduction of primitive projections on coinductive ↵Maxime Dénès
records for cbv and native_compute
2018-01-30Merge PR #6649: Fix #6621: Anomaly on fixpoint with primitive projectionsMaxime Dénès
2018-01-30Merge PR #6636: Stop running duplicate Travis jobs on pull requests.Maxime Dénès
2018-01-30Merge PR #6605: Safer VM interfacesMaxime Dénès
2018-01-30Merge PR #6644: Use travis_retry on apt-get updateMaxime Dénès
2018-01-29Add test case for #5286.Maxime Dénès
2018-01-29[cbv] Fix evaluation of cofixpoints under primitive projections.Maxime Dénès
Fixes #5286 (last remaining part).
2018-01-29[native_compute] Fix evaluation of cofixpoints under primitive projections.Maxime Dénès
2018-01-29[toplevel] Refactor load path handling.Emilio Jesus Gallego Arias
We refactor top-level load path handling. This is in preparation to make load paths become local to a particular document. To this effect, we introduce a new data type `coq_path` that includes the full specification of a load path: ``` type add_ml = AddNoML | AddTopML | AddRecML type vo_path_spec = { unix_path : string; (* Filesystem path contaning vo/ml files *) coq_path : Names.DirPath.t; (* Coq prefix for the path *) implicit : bool; (* [implicit = true] avoids having to qualify with [coq_path] *) has_ml : add_ml; (* If [has_ml] is true, the directory will also be search for plugins *) } type coq_path_spec = | VoPath of vo_path_spec | MlPath of string type coq_path = { path_spec: coq_path_spec; recursive: bool; } ``` Then, initialization of load paths is split into building a list of load paths and actually making them effective. A future commit will make thus the list of load paths a parameter for document creation. This API is necessarily internal [for now] thus I don't think a changes entry is needed.
2018-01-26allow vernacular controls before focus selector, issue #6587Paul Steckler
2018-01-26Support universe instances on the literal TypeTej Chajed
Fixes BZ#5726.
2018-01-26Safer VM interfacesMaxime Dénès
We separate functions dealing with VM values (vmvalues.ml) and interfaces of the bytecode interpreter (vm.ml). Only the former relies on untyped constructions. This also makes the VM architecture closer to the one of native_compute, another patch could probably try to share more code between the two for conversion and reification (not trivial, though). This is also preliminary work for integers and arrays.
2018-01-25document the Fail commandPaul Steckler
2018-01-25Add test case for #5747Maxime Dénès
2018-01-25[checker] Avoid relying on canonical names.Maxime Dénès
Fixes #5747: "make validate" fails with "bad recursive trees"
2018-01-25[checker] Remove duplicated functionMaxime Dénès
2018-01-25[checker] Better error message for bad recursive treesMaxime Dénès
2018-01-25Add a comment referencing travis issue numbersJason Gross
2018-01-25Merge PR #6642: fix space in coqchk errorMaxime Dénès
2018-01-25Merge PR #6650: Remove dead code from funind.Maxime Dénès
2018-01-25Merge PR #6626: [readme] Add DOI badge.Maxime Dénès
2018-01-25Merge PR #6620: Fix #6591: anomaly when using selectors outside of a proof.Maxime Dénès
2018-01-24fix space in coqchk errorRalf Jung
2018-01-24Remove dead code from funind.Maxime Dénès
2018-01-24Fix #6621: Anomaly on fixpoint with primitive projectionsMaxime Dénès
The implementation of the subterm relation for primitive projections was a bit wrong. I found the problem independently of this bug, and tried to see if a proof of False could be derived, but I don't think so, due to another check (check_is_subterm) that saves the kernel at the last minute.
2018-01-23Delay installing packagesJason Gross
sudo apt-get install will fail on gcc-multilib if apt-get update cannot fetch launchpad, so instead we delay installing these packages.
2018-01-23Use travis_retry on apt-get updateJason Gross
Script modified from https://unix.stackexchange.com/questions/175146/apt-get-update-exit-status I stuck the code in "install" rather than "before_install" so that the lint target didn't need to be changed. I also haven't touched the targets that add more packages; I'll leave that to someone who knows more about the "&" and "*" syntax being used in the configuration.
2018-01-23Stop running duplicate Travis jobs on pull requests.Théo Zimmermann
These tests are already done by CircleCI.
2018-01-23Merge PR #6627: Fix #6619: coqchk does not reduce compatibility constants ↵Maxime Dénès
for primitive projections
2018-01-23Merge PR #6628: [printing] Remove duplicate definitions of pr_lident and ↵Maxime Dénès
pr_lname
2018-01-23Merge PR #6629: Archive COMPATIBILITYMaxime Dénès
2018-01-23Merge PR #6568: Cleanup scriptsMaxime Dénès
2018-01-22Fix #6591: anomaly when using selectors outside of a proof.Cyprien Mangin
When asking for a hint about bullets, we check that there is an ongoing proof.
2018-01-22[readme] Add DOI badge.Emilio Jesus Gallego Arias
2018-01-22Archive COMPATIBILITY.Théo Zimmermann