aboutsummaryrefslogtreecommitdiffhomepage
path: root/toplevel
Commit message (Collapse)AuthorAge
* Fix bug #3887: Better error message for "More than one program with unsolved ↵Gravatar Pierre-Marie Pédrot2016-05-09
| | | | obligations".
* Rename Lexer -> CLexer.Gravatar Pierre-Marie Pédrot2016-05-09
|
* Fix bug #4705: coqtop accepts both -emacs and -ideslave.Gravatar Pierre-Marie Pédrot2016-05-03
|
* Call hooks when terminating a definition proof (bug #4663).Gravatar Guillaume Melquiond2016-05-03
| | | | Also register properly the kind of definition.
* Properly handle notations containing spaces (bug #4538).Gravatar Guillaume Melquiond2016-05-02
| | | | | | | | When a notation was starting or ending a space, Coq assumed the notation had no terminal symbol in either places. Coq also considered a notation containing only spaces to be productive. As stated in the documentation, extraneous spaces are only meant as printing hints, they are not meant to have any influence on parsing.
* Building lazily a few debugging messages involving expressions of commandsGravatar Hugo Herbelin2016-04-17
| | | | so that they are not silently computed when not in debugging mode.
* Allow to unset the refinement mode of Instance in MLGravatar Matthieu Sozeau2016-04-07
| | | | | | Falling back to the global setting if not given. Useful to make Add Morphism fail correctly when the given proof terms are incomplete. Adapt test-suite file #2848 accordingly.
* Fix handling of arity of definitional classes.Gravatar Matthieu Sozeau2016-03-24
| | | | The user-provided sort was ignored for them.
* Fix bug #4627: records with no declared arity can be template polymorphic.Gravatar Matthieu Sozeau2016-03-17
| | | | | As if we were adding : Type. Consistent with inductives with no declared arity.
* Fix bug when a sort is ascribed to a RecordGravatar Matthieu Sozeau2016-03-15
| | | | Forcefully equating it to the inferred level is not always desirable or possible.
* Adding backtraces to scheme error messages.Gravatar Pierre-Marie Pédrot2016-03-07
|
* Rename Ephemeron -> CEphemeron.Gravatar Maxime Dénès2016-03-04
| | | | Fixes compilation of Coq with OCaml 4.03 beta 1.
* Fixing bug #4580: [Set Refine Instance Mode] also used for Program Instance.Gravatar Pierre-Marie Pédrot2016-02-19
|
* Improving error message with missing patterns in the presence ofGravatar Hugo Herbelin2016-02-08
| | | | multiple patterns.
* Fixing bug #3826: "Incompatible module types" is uninformative.Gravatar Pierre-Marie Pédrot2016-01-24
|
* Fixing bug #4495: Failed assertion in metasyntax.ml.Gravatar Pierre-Marie Pédrot2016-01-24
| | | | | | We simply handle the "break" in error messages. Not sure it is the proper bugfix though, we may want to be able to add breaks in such recursive notations.
* Implement support for universe binder lists in Instance and Program ↵Gravatar Matthieu Sozeau2016-01-23
| | | | Fixpoint/Definition.
* Restore warnings produced by the interpretation of the command lineGravatar Hugo Herbelin2016-01-22
| | | | | | | (e.g. with deprecated options such as -byte, etc.) since I guess this is what we expect. Was probably lost in 81eb133d64ac81cb.
* Update copyright headers.Gravatar Maxime Dénès2016-01-20
|
* Hooks for a third-party XML plugin. Contributed by Claudio Sacerdoti Coen.Gravatar Maxime Dénès2016-01-15
|
* Inclusion of functors with restricted signature is now forbidden (fix #3746)Gravatar Pierre Letouzey2015-12-22
| | | | | | | | | | | | | | | | | | | | | The previous behavior was to include the interface of such a functor, possibly leading to the creation of unexpected axioms, see bug report #3746. In the case of non-functor module with restricted signature, we could simply refer to the original objects (strengthening), but for a functor, the inner objects have no existence yet. As said in the new error message, a simple workaround is hence to first instantiate the functor, then include the local instance: Module LocalInstance := Funct(Args). Include LocalInstance. By the way, the mod_type_alg field is now filled more systematically, cf new comments in declarations.mli. This way, we could use it to know whether a module had been given a restricted signature (via ":"). Earlier, some mod_type_alg were None in situations not handled by the extraction (MEapply of module type). Some code refactoring on the fly.
* Flag -compat 8.4 now loads Coq.Compat.Coq84.Gravatar Maxime Dénès2015-12-14
|
* Print Assumptions: improve detection of case on an axiom of FalseGravatar Enrico Tassi2015-12-09
| | | | | The name in the return clause has no semantic meaning, we must not look at it.
* Univs/Program: update the universe context with global universeGravatar Matthieu Sozeau2015-12-02
| | | | | constraints at the time of Next Obligation/Solve Obligations so that interleaving definitions and obligation solving commands works properly.
* Fix bug #4444: Next Obligation performed after a Section opening wasGravatar Matthieu Sozeau2015-12-02
| | | | | | | using the wrong context. This is very bad style but currently unavoidable, at least we don't throw an anomaly anymore.
* Univs: correctly register universe binders for lemmas.Gravatar Matthieu Sozeau2015-11-28
|
* Fix [Polymorphic Hint Rewrite].Gravatar Matthieu Sozeau2015-11-27
|
* Univs: carry on universe substitution when defining obligations ofGravatar Matthieu Sozeau2015-11-24
| | | | | non-polymorphic definitions, original universes might be substituted later on due to constraints.
* Fix output of universe arcs. (Fix bug #4422)Gravatar Guillaume Melquiond2015-11-23
|
* Univs: generation of induction schemes should not generated uselessGravatar Matthieu Sozeau2015-11-20
| | | | | | instances for each of the inductive in the same block but reuse the original universe context shared by all of them. Also do not force schemes to become universe polymorphic.
* Allow program hooks to see the refined universe_context at the end of aGravatar Matthieu Sozeau2015-11-19
| | | | | definition, if they manipulate structures depending on the initial state of the context.
* Adding syntax "Show id" to show goal named id (shelved or not).Gravatar Hugo Herbelin2015-11-02
|
* Command.declare_definition: grab the fix_exn early (follows 77cf18e)Gravatar Enrico Tassi2015-10-30
| | | | | | | | | 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.
* Add a way to get the right fix_exn in external vernacular commandsGravatar Matthieu Sozeau2015-10-30
| | | | involving Futures.
* Accept option -compat 8.5. (Fix bug #4393)Gravatar Guillaume Melquiond2015-10-29
|
* Univs: local names handling.Gravatar Matthieu Sozeau2015-10-28
| | | | | Keep user-side information on the names used in instances of universe polymorphic references and use them for printing.
* Avoid type checking private_constants (side_eff) again during Qed (#4357).Gravatar Enrico Tassi2015-10-28
| | | | | | | | | | | | | | | | | | | | | 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.
* Univs: fix bug #4375, accept universe binders on (co)-fixpointsGravatar Matthieu Sozeau2015-10-28
|
* Fix bugs 4389, 4390 and 4391 due to wrong handling of universe namesGravatar Matthieu Sozeau2015-10-27
| | | | structure.
* Minor module cleanup : error HigherOrderInclude was never happeningGravatar Pierre Letouzey2015-10-25
| | | | | | When F is a Functor, doing an 'Include F' triggers the 'Include Self' mechanism: the current context is used as an pseudo-argument to F. This may fail with a subtype error if the current context isn't adequate.
* Miscellaneous typos, spacing, US spelling in comments or variable names.Gravatar Hugo Herbelin2015-10-18
|
* Lemmas accept the Local flag.Gravatar Pierre-Marie Pédrot2015-10-17
| | | | This was a trivial overlook.
* Remove -vm flag of coqtop.Gravatar Maxime Dénès2015-10-14
| | | | | Used to replace the standard conversion by the VM. Not so useful, and implemented using a bunch of references inside and outside the kernel.
* Fixing bug #4367: Wrong error message in unification.Gravatar Pierre-Marie Pédrot2015-10-14
|
* Fix some typos.Gravatar Guillaume Melquiond2015-10-13
|
* Fix Definition id := Eval <redexpr> in by passing the right universeGravatar Matthieu Sozeau2015-10-12
| | | | context to the reduction function. Fixes MapleMode.
* Code cleaning in VM (with Benjamin).Gravatar Maxime Dénès2015-10-09
| | | | | Rename some functions, remove dead code related to (previously deprecated, now removed) option Set Boxed Values.
* Fix Next Obligation to not raise an anomaly in case of mutualGravatar Matthieu Sozeau2015-10-09
| | | | definitions.
* Axioms now support the universe binding syntax.Gravatar Pierre-Marie Pédrot2015-10-08
| | | | | | We artificially restrict the syntax though, because it is unclear of what the semantics of several axioms in a row is, in particular about the resolution of remaining evars.
* aux_file: export API to ease writing of a Proof Using annotator.Gravatar Enrico Tassi2015-10-08
|