aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-13Removing the uses of abstraction-breaking code in Obligations.Pierre-Marie Pédrot
2017-07-13Remove the function Global.type_of_global_unsafe.Pierre-Marie Pédrot
2017-07-13The only abstraction-breaking function in Univ is now AUContext.instance.Pierre-Marie Pédrot
2017-07-13Safer API for constr_of_global, and getting rid of unsafe_constr_of_global.Pierre-Marie Pédrot
2017-07-13Getting rid of AUContext abstraction breakers in Elimschemes.Pierre-Marie Pédrot
2017-07-13Getting rid of AUContext abstraction breakers in Discharge.Pierre-Marie Pédrot
2017-07-13Make the typeclass implementation fully compatible with universe polymorphism.Pierre-Marie Pédrot
This essentially means storing the abstract universe context in the typeclass data, and abstracting it when necessary.
2017-07-13Safer API for Global.body_of_constant and variants.Pierre-Marie Pédrot
We aditionally return the abstract universe context inside the option. This is relatively painless as most uses were using the option as a boolean.
2017-07-13Safer API for Global.type_of_global_in_context.Pierre-Marie Pédrot
We return the abstract context instead of an arbitrary instantiation.
2017-07-13Getting rid of AUContext abstraction breakers in Record.Pierre-Marie Pédrot
2017-07-13Getting rid of AUContext abstraction breakers in Search.Pierre-Marie Pédrot
2017-07-13Getting rid of AUContext abstraction breakers in Recordops.Pierre-Marie Pédrot
2017-07-13Merge PR #870: Prepare De Bruijn universe abstractions, Episode I: KernelMaxime Dénès
2017-07-12Adding econstr printer to "include" file.Hugo Herbelin
2017-07-12format pairs of items for pr_depth to get alternating separatorsPaul Steckler
eval thunks once in prlist_sep_lastsep, make code clearer add typeclass debug output test
2017-07-12Adding a comment regarding De Bruijn universe indices in the kernel.Pierre-Marie Pédrot
2017-07-11Remove deprecated options from ./configureThéo Zimmermann
2017-07-11Sync the manual with the deprecation warnings.Théo Zimmermann
2017-07-11[travis] Display info on tested commit for PR builds.Théo Zimmermann
This is made necessary by the fact that the displayed commit in the header of the build can be outdated if the build was restarted or took a long time to start. Sometimes, it is so old that the link to GitHub is a 404.
2017-07-11Backtracking on deprecation of Bracketing Last Intro Pattern.Théo Zimmermann
As per @JasonGross's request who described a use case for this option in https://coq.inria.fr/bugs/show_bug.cgi?id=5633 and pending an alternative solution for this use case.
2017-07-11Deprecate options that were introduced for compatibility with 8.5.Théo Zimmermann
2017-07-11Merge PR #871: Update Travis badge following the switch to masterMaxime Dénès
2017-07-11Update Travis badge following the switch to masterThéo Zimmermann
2017-07-11Moving the last bits of abtraction-breaking code out of the kernel.Pierre-Marie Pédrot
2017-07-11Fix nonsensical universe abstraction in the kernel.Pierre-Marie Pédrot
The function turning a side-effect declaration into the corresponding entry was crazily wrong, as it used a named universe context quantifying over DeBruijn universe indices. Declaring such entries resulted in random anomalies. This fixes bug #5641.
2017-07-11Properly handling polymorphic inductive subtyping in the checker.Pierre-Marie Pédrot
This is the followup of the previous commit, this time implementing the correct algorithm in the checker.
2017-07-11Properly handling polymorphic inductive subtyping in the kernel.Pierre-Marie Pédrot
Before this patch, inductive subtyping was enforcing syntactic equality of the variable instance, instead of reasoning up to alpha-renaming.
2017-07-11Cleaning up the implementation of module subtyping in the kernel.Pierre-Marie Pédrot
We export a function in UGraph to check that a polymorphic instance is a subtype of another, instead of rolling up our own in module code. We also add a few tests for module subtyping in presence of polymorphic constants.
2017-07-11Safe API for accessing universe constraints of global references.Pierre-Marie Pédrot
Instead of returning either an instance or the set of constraints, we rather return the corresponding abstracted context. We also push back all uses of abstraction-breaking calls from these functions out of the kernel.
2017-07-11Less footguns in universe handling: remove subst_instance_context.Pierre-Marie Pédrot
This function was lurking around, waiting to bite anybody willing to use it. We use instead a better API, correct and much less error-prone.
2017-07-11Asserting that monomorphic section variables have no abstracted context.Pierre-Marie Pédrot
2017-07-11Getting rid of simple calls to AUContext.instance.Pierre-Marie Pédrot
This function breaks the abstraction barrier of abstract universe contexts, as it provides a way to observe the bound names of such a context. We remove all the uses that can be easily get rid of with the current API.
2017-07-11Merge branch 'v8.7'Maxime Dénès
2017-07-11Merge PR #858: [travis] Remove CompCert version check hack.Maxime Dénès
2017-07-11Merge PR #867: Removing a redundant universe instance information in native ↵Maxime Dénès
compute.
2017-07-11Merge PR #860: use Int.equal instead of polymorphic =Maxime Dénès
2017-07-11Document the timing targetsJason Gross
We document the most useful timing targets and variables, how to invoke them, and what the output looks like.
2017-07-11Strip trailing spacesJason Gross
2017-07-11Add an entry to CHANGES about timing in coq_makefileJason Gross
2017-07-11Add timing scriptsJason Gross
This commit adds timing scripts from https://github.com/JasonGross/coq-scripts/tree/master/timing into the tools folder, and integrates them into coq_makefile and Coq's makefile. The main added makefile targets are: - the `TIMING` variable - when non-empty, this creates for each built `.v` file a `.v.timing` variable (or `.v.before-timing` or `.v.after-timing` for `TIMING=before` and `TIMING=after`, respectively) - `pretty-timed TGTS=...` - runs `make $(TGTS)` and prints a table of sorted timings at the end, saving it to `time-of-build-pretty.log` - `make-pretty-timed-before TGTS=...`, `make-pretty-timed-after TGTS=...` - runs `make $(TGTS)`, and saves the timing data to the file `time-of-build-before.log` or `time-of-build-after.log`, respectively - `print-pretty-timed-diff` - prints a table with the difference between the logs recorded by `make-pretty-timed-before` and `make-pretty-timed-after`, saving the table to `time-of-build-both.log` - `print-pretty-single-time-diff BEFORE=... AFTER=...` - this prints a table with the differences between two `.v.timing` files, and saves the output to `time-of-build-pretty.log` - `*.v.timing.diff` - this saves the result of `print-pretty-single-time-diff` for each target to the `.v.timing.diff` file - `all.timing.diff` (`world.timing.diff` and `coq.timing.diff` in Coq's own Makefile) - makes all `*.v.timing.diff` targets N.B. We need to make `make pretty-timed` fail if `make` fails. To do this, we need to get around the fact that pipes swallow exit codes. There are a few solutions in https://stackoverflow.com/questions/23079651/equivalent-of-pipefail-in-gnu-make; we choose the temporary file rather than requiring the shell of the makefile to be bash.
2017-07-10Removing a redundant universe instance information in native compute.Pierre-Marie Pédrot
Global declarations used to carry universe instances with them, but it turns out this information is not used anywhere. Instead, instances were already properly encoded as the first argument of polymorphic definitions.
2017-07-08Also install gnu-time on travis on Mac OSXJason Gross
2017-07-08Fix TIMED=1 on Mac OSXJason Gross
This closes [bug #5596](https://coq.inria.fr/bugs/show_bug.cgi?id=5596).
2017-07-08Adding support for bindings tags to explicit prefix/suffix rather than colors.Hugo Herbelin
This is usable for no-color terminal. For instance, a typical application in mind is the Coq-generate names marker which can be rendered with a color if the interface supports it and a prefix "~" if the interface does not support colors.
2017-07-07RefMan-ext: fix some typosWilliam Lawvere
2017-07-07Merge PR #863: Fixing environment in warning "Projection value has no head ↵Maxime Dénès
constant".
2017-07-07Merge PR #842: Update the Tutorial.Maxime Dénès
2017-07-07Merge PR #816: In enter_one, not having exactly one goal is a fatal error of ↵Maxime Dénès
the monad.
2017-07-07Merge PR #835: Remove doc/refman/RefMan-ind.texMaxime Dénès
2017-07-07Set version to 8.7.0~alpha.Maxime Dénès