aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-02-28Merge PR #6789: Check whitespace errors per-commit.Maxime Dénès
2018-02-28Merge PR #6734: dest_{prod,lam}: no Cast case (it's removed by whd)Maxime Dénès
2018-02-28Merge PR #6823: Fixes #6821 (bug in protecting notation printing from ↵Maxime Dénès
infinite eta-expansion)
2018-02-28Merge PR #6812: Rename release_lexer_state to the more descriptive ↵Maxime Dénès
get_lexer_state.
2018-02-28Merge PR #6752: Remove from CircleCI builds that are already taken care of ↵Maxime Dénès
by Travis.
2018-02-24Merge PR #6543: Update headers and creditsMaxime Dénès
2018-02-24Merge PR #6784: New IR in VM: ClambdaMaxime Dénès
2018-02-24Merge PR #6819: Document Arguments extra scopes flagMaxime Dénès
2018-02-24Merge PR #6776: Fixes bug #6774 (anomaly with ill-typed template polymorphism).Maxime Dénès
2018-02-24Merge PR #6803: coqdev.el: add space at the end of compile-commandMaxime Dénès
2018-02-24Merge PR #6599: Decimals in preludeMaxime Dénès
2018-02-24Merge PR #6745: [ast] Improve precision of Ast location recognition in ↵Maxime Dénès
serialization.
2018-02-23Check whitespace errors per-commit.Gaëtan Gilbert
Otherwise it is possible to detect errors that are not fixed by git rebase since that works per-commit.
2018-02-23New IR in VM: Clambda.Maxime Dénès
This intermediate representation serves two purposes: 1- It is a preliminary step for primitive machine integers, as iterators will be compiled to Clambda. 2- It makes the VM compilation passes closer to the ones of native_compute. Once we unifiy the representation of values, we should be able to factorize the lambda-code generation between the two compilers, as well as the reification code. This code was written by Benjamin Grégoire and myself.
2018-02-23Fix map iterator on nativelambda.Maxime Dénès
2018-02-23Fixes #6821 (bug in protecting notation printing from infinite eta-expansion).Hugo Herbelin
More precisely when matching "f t" with "(fun ?x => .. ((fun ?x' => ?y) ?z') ..) ?z" do not allow expansion of f since otherwise, we recursively have to match "f t" with the same pattern.
2018-02-22Document Arguments extra scopes flagJasper Hugunin
2018-02-22Tweak developer documentation.Jim Fehrle
2018-02-22Rename release_lexer_state to the more descriptive get_lexer_state.Jim Fehrle
2018-02-22[ast] Improve precision of Ast location recognition in serialization.Emilio Jesus Gallego Arias
We follow the suggestions in #402 and turn uses of `Loc.located` in `vernac` into `CAst.t`. The impact should be low as this change mostly affects top-level vernaculars. With this change, we are even closer to automatically map a text document to its AST in a programmatic way.
2018-02-21Remove from CircleCI builds that are already taken care of by Travis.Théo Zimmermann
2018-02-21Merge PR #6604: Extend `zify_N` with knowledge about `N.pred`Maxime Dénès
2018-02-21Merge PR #6282: proposed fix for issue #3213: extra variable m in Lt.S_predMaxime Dénès
2018-02-21Merge PR #6767: [ci] add elpiMaxime Dénès
2018-02-21Merge PR #982: Miscellaneous extensions of notations (including granting BZ5585)Maxime Dénès
2018-02-21Merge PR #6283: A pre-commit hook to magically fix whitespace issues.Maxime Dénès
2018-02-21Merge PR #6748: Fix bug #6529: nf_evar_info to nf the evars' env not just ↵Maxime Dénès
the concl
2018-02-21Merge PR #6740: Adding a sanity check on inductive variance subtyping.Maxime Dénès
2018-02-21Update CREDITS.Théo Zimmermann
In particular, add a mention of SSReflect.
2018-02-21More accurate and complete headers.Théo Zimmermann
Remove the mention of specific labs (irrelevant for a copyright notice). Add a mention to represent other contributors and a pointer to CREDITS.
2018-02-21Mention the CREDITS file in CONTRIBUTING.Théo Zimmermann
2018-02-21Remove redundant COPYRIGHT file.Théo Zimmermann
This information is already present in CREDITS.
2018-02-21coqdev.el: add space at the end of compile-commandGaëtan Gilbert
That way you can just type [-j] instead of having to remember to add a space yourself.
2018-02-20Add CHANGES entry for decimals in preludeJason Gross
2018-02-20Update SearchPattern.out for numeral notationsJason Gross
There is more churn than there should be because SearchPattern uses a non-local sorting algorithm; the comparison function considers many constants equal in priority and leaves it up to the heap structure to break ties, which seems wrong. This has been reported as [bug #5573](https://coq.inria.fr/bugs/show_bug.cgi?id=5573).
2018-02-20Doc: add Decimal-related files to index-list.html.templateJason Gross
2018-02-20Decimal goodies : conversion to/from Coq stringsPierre Letouzey
Just because it's fun and easy. Not used by the Numeral Notation command.
2018-02-20Decimal: proofs that conversions from/to nat,N,Z are bijectionsPierre Letouzey
2018-02-20Decimal: simple representation of base-10 numbersPierre Letouzey
2018-02-20Fixes bug #6774 (anomaly with ill-typed template polymorphism).Hugo Herbelin
Computation of the sort of the inductive type was done before ensuring that the arguments of the inductive type had the correct types, possibly brutally failing with `NotArity` in case one of the types expected to be typed with an arity was not so.
2018-02-20Adding a test for wish #5532.Hugo Herbelin
2018-02-20Documenting use of primitive entry names for restricting syntax in notations.Hugo Herbelin
2018-02-20Extended documentation for notations referring to binders.Hugo Herbelin
Talking about the difference between ident and pattern. Giving examples.
2018-02-20Trying a hack to support {'pat|P} without breaking compatibility.Hugo Herbelin
Concretely, we bypass the following limitation: The notation "{ ' pat | P }" broke the parsing of expressions of the form "{ forall x, P } + { Q }". Indeed the latter works thanks to a tolerance of Camlp5 in parsing "forall x, P" at level 200 while the rule asks to actually parse the interior of "{ ... }" at level 99 (the reason for 99 is to be below the rule for "M : T" which is at level 100, so that "{ x : A | P }" does not see "x : A" as a cast). Adding an extra "'"; pat = pattern in parallel to c = constr LEVEL "99" broke the tolerance for constr at level 200. We fix this by adding an ad hoc rule for "{ binder_constr }" in the native grammar (g_constr.ml4). Actually, this is inconsistent with having a rule for "{ constr at level 99 }" in Notations.v. We should have both rules in Notations.v or both rules hard-wired in the native grammar. But I still don't know what is the best decision to take, so leaving as it at the current time. Advantages of hard-wiring both rules in g_constr.ml4: a bit simpler in metasyntax.ml (no need to ensure that the rule exist). Disadvantages: if one wants a different initial state without the business needing the "{ }" for sumbool, sumor, sig, sigT, one still have the rules there. Advantages of having them in Notations.v: more modular, we can change the initial state. Disadvantages: one would need a new kind of modifier, something like "x at level 99 || binder_constr", with all the difficulty to find a nice, intuitive, name for "binder_constr", and the difficulty of understanding if there is a generality to this "||" disjunction operator, and whether it should be documented or not.
2018-02-20Adding notations of the form "{'pat|P}", "exists2 'pat, P & Q", etc.Hugo Herbelin
2018-02-20Change default for notations with variables bound to both terms and binders.Hugo Herbelin
For compatibility, the default is to parse as ident and not as pattern.
2018-02-20Notations: Adding modifiers to tell which kind of binder a constr can parse.Hugo Herbelin
Concretely, we provide "constr as ident", "constr as strict pattern" and "constr as pattern". This tells to parse a binder as a constr, restricting to only ident or to only a strict pattern, or to a pattern which can also be an ident. The "strict pattern" modifier allows to restrict the use of patterns in printing rules. This allows e.g. to select the appropriate rule for printing between {x|P} and {'pat|P}.
2018-02-20Notations: A step in cleaning constr_entry_key.Hugo Herbelin
- Avoid dummy use of unit - Do not decide as early as parsing the default level for pattern - Prepare to further extensions
2018-02-20Moving Metasyntax.register_grammar to Pcoq for usability in Egramcoq.Hugo Herbelin
Renaming it register_grammars_by_name.
2018-02-20More flexibility in locating or referring to a notation.Hugo Herbelin
We generalize the possibility to refer to a notation not only by its "_ U _" form but also using its "a 'U' b". (Wish from EJGA)