aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-30Merge branch 'v8.5'Pierre-Marie Pédrot
2015-10-30Command.declare_definition: grab the fix_exn early (follows 77cf18e)Enrico Tassi
When a future is fully forced (joined), the fix_exn is dropped, since joined futures are values (hence they cannot raise exceptions). When a future for a transparent definition enters the environment it is joined. If one needs to pick its fix_exn, he should do it before that.
2015-10-30Manually expand red_tactic so that notations do not break reduction tactics. ↵Guillaume Melquiond
(Fix bug #3654)
2015-10-30Add a way to get the right fix_exn in external vernacular commandsMatthieu Sozeau
involving Futures.
2015-10-30Fix typo.Guillaume Melquiond
2015-10-30More uniformity in the style of comparison functions.Arnaud Spiwack
2015-10-29Make the code of compare functions linear in the number of constructors.Arnaud Spiwack
This scheme has been advised by @gashe on #79. Interestingly there are several comparison functions in Coq which were already implemented with this scheme.
2015-10-29Monotonizing Tactics.change_arg.Pierre-Marie Pédrot
2015-10-29Handle side-effects of Vernacular commands inside proofs better, so thatMatthieu Sozeau
universes are declared correctly in the enclosing proofs evar_map's.
2015-10-29Collect subproof universes in handle_side_effects.Matthieu Sozeau
2015-10-29Removing some goal unsafeness in Equality.Pierre-Marie Pédrot
2015-10-29Removing unused and useless exported function in Hints.Pierre-Marie Pédrot
2015-10-29Removing the evar_map argument from s_enter.Pierre-Marie Pédrot
2015-10-29Removing some goal unsafeness in inductive schemes.Pierre-Marie Pédrot
2015-10-29Manually expand the debugging versions of "trivial" and "auto". (Fix bug #4392)Guillaume Melquiond
Without this expansion, camlp4 fails to properly factor a user notation starting with either "trivial" or "auto".
2015-10-29Avoid an anomaly when destructing an unknown ident. (Fix bug #4395)Guillaume Melquiond
It is too bad that OCaml does not warn when catching an exception over a closure rather than inside it.
2015-10-29Fixing another instance of bug #3267 in eauto, this time in theHugo Herbelin
presence of hints modifying the context and of a "using" clause. Incidentally opening Hints by default in debugger.
2015-10-29Cleanup API and comments of 908dcd613Enrico Tassi
2015-10-29Merge branch 'v8.5'Pierre-Marie Pédrot
2015-10-29Accept option -compat 8.5. (Fix bug #4393)Guillaume Melquiond
2015-10-28Univs: local names handling.Matthieu Sozeau
Keep user-side information on the names used in instances of universe polymorphic references and use them for printing.
2015-10-28Printing of @{} instances for polymorphic references in Print and About.Matthieu Sozeau
2015-10-28Avoid type checking private_constants (side_eff) again during Qed (#4357).Enrico Tassi
Side effects are now an opaque data type, called private_constant, you can only obtain from safe_typing. When add_constant is called on a definition_entry that contains private constants, they are either - inlined in the main proof term but not re-checked - declared globally without re-checking them As a safety measure, the opaque data type contains a pointer to the revstruct (an internal field of safe_env that changes every time a new constant is added), and such pointer is compared with the current value store in safe_env when the private_constant is inlined. Only when the comparison is successful the private_constant is not re-checked. Otherwise else it is. In short, we accept into the kernel private constant only when they arrive in the very same order and on top of the very same env they arrived when we fist checked them. Note: private_constants produced by workers never pass the safety measure (the revstruct pointer is an Ephemeron). Sending back the entire revstruct is possible but: 1. we lack a way to quickly compare two revstructs, 2. it can be large.
2015-10-28lib_stack: API to reorder the libstackEnrico Tassi
For discharging it is important that constants occur in the libstack in an order that respects the dependencies among them. This is impossible to achieve for private constants when they are exported globally without this (ugly IMO) api.
2015-10-28Fix test suite after Matthieu's ed7af646f2e486b.Maxime Dénès
2015-10-28Fix bug in native compiler with universe polymorphism.Maxime Dénès
Universe instances for constructors were not always correct, for instance in: [cons _ list (nil _)] with a polymorphic [list] type, [nil] was receiving an empty instance.
2015-10-28Refine Gregory Malecha's patch on VM and universe polymorphism.Maxime Dénès
- Universes are now represented in the VM by a structured constant containing the global levels. This constant is applied to local level variables if any. - When reading back a universe, we perform the union of these levels and return a [Vsort]. - Fixed a bug: structured constants could contain local universe variables in constructor arguments, which has to be prevented. Was showing up for instance when evaluating [cons _ list (nil _)] with a polymorphic [list] type. - Fixed a bug: polymorphic inductive types can have an empty stack. Was showing up when evaluating [bool] with a polymorphic [bool] type. - Made a few cosmetic changes. Patch written with Benjamin Grégoire.
2015-10-28Conversion of polymorphic inductive types was incomplete in VM and native.Maxime Dénès
Was showing up when comparing e.g. prod Type Type with prod Type Type (!) with a polymorphic prod.
2015-10-28Fix minor typo in native compiler.Maxime Dénès
2015-10-28test cases.Gregory Malecha
2015-10-28Adds support for the virtual machine to perform reduction of universe ↵Gregory Malecha
polymorphic definitions. - This implementation passes universes in separate arguments and does not eagerly instanitate polymorphic definitions. - This means that it pays no cost on monomorphic definitions.
2015-10-28Univs: fix bug #4375, accept universe binders on (co)-fixpointsMatthieu Sozeau
2015-10-28Fixing the return type of the Atoken symbol.Pierre-Marie Pédrot
2015-10-28Revert "Fixing #4198 (continued): not matching within the inner lambdas/let-ins"Hugo Herbelin
After all, let's target 8.6.
2015-10-28Seeing configure as a static resolution of path continued (not yet on windows).Hugo Herbelin
This makes sense probably on Windows too, to be evaluated, maybe .exe suffix should be added.
2015-10-28Do not pause globing in funind. (Fix bug #4382)Guillaume Melquiond
Since the functions of this plugin exit by raising exceptions, globing was never restarted. This prevented coqdoc from generating a proper output whenever some feature of this plugin was used. There does not seem to be any parsing of dynamic expressions, so pausing globing does not make much sense in the first place.
2015-10-28Type-safe Argextend.Pierre-Marie Pédrot
2015-10-27Fix bugs 4389, 4390 and 4391 due to wrong handling of universe namesMatthieu Sozeau
structure.
2015-10-27Removing unused code in Pcoq.Pierre-Marie Pédrot
2015-10-27Type-safe Egramml.grammar_prod_item.Pierre-Marie Pédrot
2015-10-27Finer type for Pcoq.interp_entry_name.Pierre-Marie Pédrot
2015-10-27Getting rid of most uses of unsafe_grammar_extend.Pierre-Marie Pédrot
2015-10-27Type-safe Egramml.make_rule.Pierre-Marie Pédrot
2015-10-27Indexing existentially quantified entries returned by interp_entry_name.Pierre-Marie Pédrot
2015-10-27Type-safe grammar extensions.Pierre-Marie Pédrot
2015-10-26Seeing configure as a static resolution of path, hence hardwiring longHugo Herbelin
paths for ocaml* executables in the generated config/Makefile. Hoping I'm not doing something wrong. E.g., I don't see why it would not be ok for windows or macosx too, since e.g. camlp5o was already with a full path.
2015-10-26Fixing bugs in options of the configure.Hugo Herbelin
- usage ill-formed for -native-compiler - compatibility with the configure of 8.4 (-force-caml-version), though e.g. its force-ocaml-version alias is no longer supported (but at the same time not documented either, so...)
2015-10-26Preventing using OCaml 4.02.0 for compiling Coq as compilation timesHugo Herbelin
are redhibitory.
2015-10-26Documenting a bit more interpretation functions in passing.Hugo Herbelin
2015-10-26Preserving goal name in revert/bring_hyps.Hugo Herbelin