aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-05Owners of Makefile.{ci,doc} are teams {ci,doc}-maintainers.Théo Zimmermann
2018-09-04[misc] Remove leftover files.Emilio Jesus Gallego Arias
Dune will complain about these leftovers / dead files in the tree.
2018-09-04Merge PR #7684: [doc] Build ML API documentation artifact.Gaëtan Gilbert
2018-09-04[ssr] guard all `try pf_unify_HO` with CErrors.noncriticalEnrico Tassi
2018-09-04[ssr] anomaly -> error (Fix #8253)Enrico Tassi
Looks like this bug was introduced when unification started raising the UnableToUnify exception in 8ac929ea128f1f7353b3f4d532b642e769542e55 . I now turn this exception into a PretypeError that is correctly catched and printed.
2018-09-04Merge PR #8263: Do not abstract over the named variable in unsafe ↵Hugo Herbelin
introduction tactic.
2018-09-04Merge PR #8264: More efficient computation of avoided variables during ↵Hugo Herbelin
pretyping.
2018-09-03Fix for issue #8378. If the string matches the regex, output theJim Fehrle
part before the regex match with full highlights. (Duh)
2018-09-03Merge PR #8387: Make -compat 8.8 import Coq.Compat.Coq88Théo Zimmermann
2018-09-03Merge PR #8064: Numeral notation (revisited again)Hugo Herbelin
2018-09-03[doc] Build ML API documentation artifact.Emilio Jesus Gallego Arias
This is not optimal for we have to rebuild the `.cmi` as `ocamldoc` cannot yet use the `_install_ci/` directory. Overall the `mli` documentation is in a sorry state, however, I think this is a first step in order to improve it. Note that the `ml-doc` target seems broken in OCaml 4.07.0, needs investigation. cc: #7155
2018-09-03Merge PR #891: Check universes are declaredGaëtan Gilbert
2018-09-03Merge PR #8376: Source basic overlay after user overlays to fix #8375 ↵Gaëtan Gilbert
following #8348.
2018-09-03Merge PR #8124: Fix #8121: anomalies in native_compute with let and evars.Maxime Dénès
2018-09-03Merge PR #7953: More efficient abstraction over variables in Cooking.Maxime Dénès
2018-09-03Merge PR #7912: Simplify effects APIMaxime Dénès
2018-09-03Merge PR #7085: Turn the kernel reduction sharing flag into an argument ↵Maxime Dénès
passed in the cache
2018-09-03Merge PR #8147: [ssr] assertion -> error message (Fix #8134)Maxime Dénès
2018-09-03Merge PR #8359: [ssr] move ssr_*v tests to test-suite/ssr/Maxime Dénès
2018-09-03Adding combinators preserving expanded form of branches and pred. of "match".Hugo Herbelin
More precisely: the lambda-let-expanded canonical form of branches and return predicate is considered as part of the structure of a "match" and is preserved.
2018-09-02Merge PR #8363: Fix #8361: dependency states: camldevfilesJason Gross
2018-09-03Merge PR #8107: Fixes #8106: anomaly if declaring levels for only printing ↵Emilio Jesus Gallego Arias
then only parsing
2018-09-03Merge PR #8286: Fixing #7867: class error message tried to print a "fun" ↵Emilio Jesus Gallego Arias
with no binders
2018-09-02Make -compat 8.8 import Coq.Compat.Coq88Jason Gross
Fixes #8311
2018-09-02Cosmetic: fixing an indentationHugo Herbelin
2018-09-02Fixing #7867 (class error message tries to print a "fun" with no binder).Hugo Herbelin
2018-09-02Fixing #8106 (anomaly if declaring levels for only printing then only parsing).Hugo Herbelin
Notations were not initially designed to support independent parsing and printing rules. Some redesign of this part of the code shall be necessary at some time.
2018-09-02Fix the order of sourcing of overlays in Windows build script as well.Théo Zimmermann
2018-09-01Source basic overlay after user overlays to fix #8375 following #8348.Théo Zimmermann
2018-09-01Add overlay for HoTTJason Gross
The overlay for HoTT should be merged right after this PR.
2018-08-31Give a proper error message on num-not in functorJason Gross
Numeral Notations are not well-supported inside functors. We now give a proper error message rather than an anomaly when this occurs.
2018-08-31Add some module tests to numeral notationsJason Gross
2018-08-31Make Numeral Notation obey Local/GlobalJason Gross
Thanks to Emilio and Pierre-Marie Pédrot for pointers.
2018-08-31Make Numeral Notation follow Import, not RequireJason Gross
Because that's the sane thing to do. This will inevitably cause issues for projects which do not `Import Coq.Strings.Ascii` before trying to use ascii notations. We also move the syntax plugin for `int31` notations from `Cyclic31` to `Int31`, so that users (like CompCert) who merely `Require Import Coq.Numbers.Cyclic.Int31.Int31` get the `int31` numeral syntax. Since `Cyclic31` `Export`s `Int31`, this should not cause any additional incompatibilities.
2018-08-31[numeral notations] support aliasesJason Gross
Aliases of global references can now be used in numeral notations
2018-08-31Add Numeral Notation GlobRef printing/parsingJason Gross
Now we support using inductive constructors and section-local variables as numeral notation printing and parsing functions. I'm not sure that I got the econstr conversion right.
2018-08-31Add periods in response to PR commentsJason Gross
2018-08-31Move g_numeral.ml4 to numeral.mlJason Gross
As per https://github.com/coq/coq/pull/8064#pullrequestreview-145971522
2018-08-31Add a warning about abstract after being a no-opJason Gross
As per https://github.com/coq/coq/pull/8064#discussion_r209875616 I decided to make it a warning because it seems more flexible that way; users to are flipping back and forth between option types and not option types while designing won't have to update their `abstract after` directives to do so, and users who don't want to allow this can make it an actual error message.
2018-08-31Update CHANGESJason Gross
2018-08-31Update doc and test-suite after supporting univ polyJason Gross
Also make `Check S` no longer anomaly Add a couple more test cases for numeral notations Also add another possibly-confusing error message to the doc. Respond to Hugo's doc request with Zimmi48's suggestion From https://github.com/coq/coq/pull/8064/files#r204191608
2018-08-31Add support for polymorphic constants.Hugo Herbelin
2018-08-31Fix numeral notation for a rebase on top of masterJason Gross
Some of this code is cargo-culted or kludged to work. As I understand it, the situation is as follows: There are two sorts of use-cases that need to be supported: 1. A plugin registers an OCaml function as a numeral interpreter. In this case, the function registration must be synchronized with the document state, but the functions should not be marshelled / stored in the .vo. 2. A vernacular registers a Gallina function as a numeral interpreter. In this case, the registration must be synchronized, and the function should be marshelled / stored in the .vo. In case (1), we can compare functions by pointer equality, and we should be able to rely on globally unique keys, even across backtracking. In case (2), we cannot compare functions by pointer equality (because they must be regenerated on unmarshelling when `Require`ing a .vo file), and we also cannot rely on any sort of unique key being both unique and persistent across files. The solution we use here is that we ask clients to provide "unique" keys, and that clients tell us whether or not to overwrite existing registered functions, i.e., to tell us whether or not we should expect interpreter functions to be globally unique under pointer equality. For plugins, a simple string suffices, as long as the string does not clash between different plugins. In the case of vernacular-registered functions, use marshell a description of all of the data used to generate the function, and use that string as a unique key which is expected to persist across files. Because we cannot rely on function-pointer uniqueness here, we tell the interpretation-registration to allow overwriting. ---- Some of this code is response to comments on the PR ---- Some code is to fix an issue that bignums revealed: Both Int31 and bignums registered numeral notations in int31_scope. We now prepend a globally unique identifier when registering numeral notations from OCaml plugins. This is permissible because we don't store the uid information for such notations in .vo files (assuming I'm understanding the code correctly).
2018-08-31WIP: cleanup numeral_notation_obj + errorsPierre Letouzey
2018-08-31WIP: adapt Numeral Notation to synchronized prim notationsPierre Letouzey
2018-08-31Decimal: scope name changed dec_(u)int_scopePierre Letouzey
This avoid a clash with int_scope in ssreflect's ssrint.v
2018-08-31Numeral Notation + test-suite : fix 3 tests using Datatypes.v but not Prelude.vPierre Letouzey
Earlier, the nat_syntax_plugin was loaded as soon as Datatypes.v. This would now implies to make Datatypes.v depends on Decimal.v. Instead, we postpone the Numeral Notation for nat until Prelude.v, and we adapt those three tests that happen to live strictly between Datatypes and Prelude.
2018-08-31Numeral Notation: use the modern warning infrastructurePierre Letouzey
2018-08-31Numeral Notation: minor text improvements suggested by J. GrossPierre Letouzey
2018-08-31Error on polymorphic conversions for numeral notationsJason Gross