aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-28remove debug prints (leftover)Enrico Tassi
2014-12-27STM: check with the kernel proof terms on the worker tooEnrico Tassi
Before this commit the worker was sending back a proof term as built by tactics. The master receives the proof terms and eventually (when one clicks on the gears in CoqIDE) check it with the kernel. This meant that errors like the ones produced by the "fix" tactics were discovered very late. Now a worker checks with its kernel the proof term before sending it back. The term is also checked by the master, eventually, but the error is signaled early.
2014-12-27STM: fix processing of errorsEnrico Tassi
2014-12-27STM: module Pp is openEnrico Tassi
2014-12-27proof_global: make it possible to call close_proof in a workerEnrico Tassi
Given that the proof state contains a callback (a terminator) that is not sent (dropped by the ephemeron mechanism at marshall time) de-referencing the ephemeron during this function makes it impossible to call it in a worker. Now the worker can call the function and replace the terminator with a good one.
2014-12-27include test-suite/coqchk in the summary logEnrico Tassi
2014-12-27universes_of_constant: do a proper set union of body and type univsEnrico Tassi
Before the union was performed as a UContext.t union, that concatenates the instances arrays, while one wants to avoid duplicates. We also assert that polymorphic constants have all constraints in the constant_body (field const_universes), since the extra body univs (stored in the opaque tables) are just for regular constants processed asynchronously.
2014-12-27Revert "Term: include a function to print terms"Enrico Tassi
Such printer is already in Termops This reverts commit 5d6106a075b79abbb92b03bbca7b13a517cf4925.
2014-12-26new test for coqchkEnrico Tassi
2014-12-26coqchk: flush the pp buffer from time to timeEnrico Tassi
2014-12-26STM: do not call process_error twice (Close: 3880)Enrico Tassi
2014-12-26Call Evd.nf_constraints only on Univ Poly constantsEnrico Tassi
When one generates a .vi file only the type is stocked. When one completes a .vi the proof term is stocked but the corresponding type is not changed: - if one minimizes the constraints of the body, the minimization could find that 2 univs are equal and substitute one for the other in the body, but it should also apply the subst to the type orelse coqchk could fail - also, a "retroactive" change of a type (making it stricter) invalidates what was type checked afterwards, so this operation clashes with the vi2vo compilation chain Hence we enable this optimization only for universe polymorphic constants that: - are the ones that truly requires such optimization - are never processed asynchronously, so the scenario above does not apply
2014-12-26STM: remove dead codeEnrico Tassi
2014-12-26Term: include a function to print termsEnrico Tassi
I find it very odd not to have a pretty printer for terms than can be called from *everywhere*. This commit sticks in Term a long spaghetti to let Printer install a printing function.
2014-12-25Document 6d5b56d971 (forbid Require inside modules).Maxime Dénès
2014-12-25Forbid Require inside interactive modules and module types.Maxime Dénès
Fixes #3379 and part of #3363. Also avoids fragile code propagating required libraries when closing an interactive module. Had to fix a few occurrences in std lib.
2014-12-25Inlining Spawn.kill_if in the one place were it was actually used, thusPierre-Marie Pédrot
removing the need of thread creation in the interface.
2014-12-23STM: cleanup code for AdmittedEnrico Tassi
2014-12-23Vi2vo: fix handling of univ constraints coming from the bodyEnrico Tassi
2014-12-23Minor modification of CHANGE.Pierre Courtieu
2014-12-23A global [gfail] tactic which works like [fail] except that it fails even if ↵Arnaud Spiwack
there is no focused goal. The 'g' is for "global". The arguments are the same as [fail]. Beware: [let x := constr:… in tac] is a goal-local operation regardless of whether [tac] is goal-local or not.
2014-12-23Remove compatibility layer from Ltac's [fail].Arnaud Spiwack
2014-12-23Fix compilation error in some configurations.Arnaud Spiwack
This was due to the unqualified uses of "Lazy" being disambiguated in different manners. I just changed the constructor name to "Select". Fixes #3877.
2014-12-21Dead code in Univ.Pierre-Marie Pédrot
2014-12-19Win32: fix installerEnrico Tassi
Still unsure about .o file (should they be shipped for the native_compute machinery or .cmxs suffice?)
2014-12-19Install .v and .glob files tooEnrico Tassi
PIDE based user interfaces use glob files and source files to implement hyperlinks
2014-12-19Add a backtracking version of Ltac's [match].Arnaud Spiwack
[multimatch … with …] returns every possible successes: every matching branch and every successes of these matching branch, so that subsequent tactics can backtrack as well.
2014-12-19When pretyping [uconstr] closures, don't use the local Ltac variable ↵Arnaud Spiwack
environment. A closure is supposedly closed: all the relevant Ltac variables should be then. The last field [ltac_genargs], if I'm not mistaken, is there to represent the Ltac variables which are bound but not to something which makes sense in a term. They should be irrelevant at this point, since the uconstr has already been interpreted and these checks are supposed to have happened. (though I'm not entirely sure they do, it can be an interesting exercise to try and make [uconstr] behave weirdly) I'm not quite sure why it caused #3679, though. But it still seems to be solved.
2014-12-19Fixing performance issue of checker validation.Pierre-Marie Pédrot
The validation process was passing most of its time in the construction of the name of the current context.
2014-12-19Fixing checker representation of values.Pierre-Marie Pédrot
2014-12-19update md5 sums to make "make check" workEnrico Tassi
2014-12-19Fix sigsegv in checkerEnrico Tassi
2014-12-19Better doc and a few fixes for Proof using.Enrico Tassi
2014-12-19Back to the preferred ?n1:=?n2 order of evar-evar unification which got ↵Hugo Herbelin
accidentally mixed up in 9aa416c0c6.
2014-12-19Fixing wrong notation level in #3295.Hugo Herbelin
2014-12-18Adds two lemmas about hderror to the List standard library.Sébastien Hinderer
2014-12-18Implement the nodup function on lists and prove associated results.Sébastien Hinderer
2014-12-18Lists: enhanced version of Seb's last commit on Exists/ForallPierre Letouzey
2014-12-18Lists: a few results on Exists and Forall and a bit of code cleanup.Sébastien Hinderer
2014-12-18Fixing checker representation of universe lists.Pierre-Marie Pédrot
2014-12-18Backporting the change in lists of universes to the checker.Pierre-Marie Pédrot
2014-12-18Cleaning up universe list implementation in Univ.Pierre-Marie Pédrot
We use private types to ensure apriori hashconsing, and get rid of the use of recursive modules. The hash of the universe list is also inlined into each node instead of relying on a supplementary indirection.
2014-12-18Proof using: New vernacular to name sets of section variablesEnrico Tassi
2014-12-18Bug fix (coq_makefile): Adding unix.cma and threads.cma dependencies for ↵mlasson
grammar in campl4
2014-12-18Fixed bad newlines in output for std output and emacs.Pierre Courtieu
I added a emacs_logger. Still need to cleanup std_logger.
2014-12-17Fix compilation with ocaml 4.0.0Enrico Tassi
2014-12-17checker: Change in library on disk values, now using context_sets instead ofMatthieu Sozeau
constraints only.
2014-12-17Ensuring the good invariants of hashcons table generation in the API.Pierre-Marie Pédrot
2014-12-17Fix (actually, properly implement :) hashconsing of projections,Matthieu Sozeau
resulting in huge speedup at Qed/section closing in presence of primitive projections.
2014-12-17Fixing bug #3796.Pierre-Marie Pédrot