aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-17Future: blocking by defaultEnrico Tassi
This makes queries like Print or Extraction block and not raise the error "the value is not ready". This should make CoqIDE work for every kind of script.
2014-12-17STM: resilient on errors in non delegated proofsEnrico Tassi
This commits makes the concept of delegated and async more orthogonal. A proof can be async but not delegated to a worker (if it is known to be very small it is too much overhead to delegate to a worker). A proof that is not async cannot be delegated to a worker. An async proof that contains an error does not prevent Coq from continuing the execution (interactive mode) and can be fixed without invalidating the whole document (CoqIDE knows how to do that) even if it is processed locally. It used to be the case only for delegated proofs, now it worker for all the proofs that can be in principle delegated (doing it or not is an implementation detail, an optimization).
2014-12-17CoqIDE: cleanup jobs window on worker deathEnrico Tassi
2014-12-17STM: rename and simplify flagsEnrico Tassi
2014-12-17STM: simplify state managementEnrico Tassi
Thanks the the previous patchset a worker can be asked to send back "light" version of the system states. This is reasonably efficient hence the idea of letting a worker hang around just to hold system states for retrieval on demand is dropped.
2014-12-17AsyncTaskQueue: simpler model (no parking area, continuation tasks)Enrico Tassi
2014-12-17WorkerPool: simpler fuctor and no more parking areaEnrico Tassi
2014-12-17TQueue: a way to unblock threads begin destroyed waiting on popEnrico Tassi
2014-12-17Spawn: fix request of Gc statisticsEnrico Tassi
2014-12-17CThread: use a different type for thread friendly in_channelsEnrico Tassi
2014-12-17Summary: more surgery functionsEnrico Tassi
API to let one forge a frozen state out of another frozen state plus some frozen bits
2014-12-17Global: export the name of the summary entryEnrico Tassi
In this way one can make surgery on the system states, like checking if two frozen states have the same environment (i.e. no running "abstract" in between)
2014-12-17Dyn: add API to check of two Dyn.t are ==Enrico Tassi
A Dyn.t boxes a type tag with the original object, so calling == on the Dyn.t does not work, hence this extra API.
2014-12-17Arguments: warn only if no option is given (Close 3860)Enrico Tassi
2014-12-17CoqIDE: better messagesEnrico Tassi
2014-12-17Revert and correctly fix "#4843 part 2 : The .cmxs files for plugins must ↵Pierre Boutillier
have x permission" This reverts commit 607503b28fca50f4b76b2237d5ca13802b8252fa.
2014-12-16#3828 is solved.Hugo Herbelin
2014-12-16Moving #2447 (congruence) to fixed.Hugo Herbelin
2014-12-16In CHANGES, alerting about stronger check on notation level modifiers.Hugo Herbelin
2014-12-16More printers for ltac signatures.Hugo Herbelin
2014-12-16Test for #3654.Hugo Herbelin
2014-12-16fix bug #2447 in congruencePierre Corbineau
2014-12-16fix bug #2447 in congruencePierre Corbineau
2014-12-16Fixing CAMLP4 compilation.Pierre-Marie Pédrot
2014-12-16msg_info now puts infomsg tag in emacs mode.Pierre Courtieu
Fixes the idtac "string" not appearing in proofgeneral because printined *before* the goal.
2014-12-16Proper thread-safe implementation for Exninfo.Pierre-Marie Pédrot
This is the second part of the Exninfo patch. It introduces dependency in the Thread library in all Coq files.
2014-12-16Getting rid of Exninfo hacks.Pierre-Marie Pédrot
Instead of modifying exceptions to wear additional information, we instead use a dedicated type now. All exception-using functions were modified to support this new type, in particular Future's fix_exn-s and the tactic monad. To solve the problem of enriching exceptions at raise time and recover this data in the try-with handler, we use a global datastructure recording the given piece of data imperatively that we retrieve in the try-with handler. We ensure that such instrumented try-with destroy the data so that there may not be confusion with another exception. To further harden the correction of this structure, we also check for pointer equality with the last raised exception. The global data structure is not thread-safe for now, which is incorrect as the STM uses threads and enriched exceptions. Yet, we splitted the patch in two parts, so that we do not introduce dependencies to the Thread library immediatly. This will allow to revert only the second patch if ever we switch to OCaml-coded lightweight threads.
2014-12-16Error messages of Searchxxx are coherent with goal selector.Pierre Courtieu
If a goal is given and wrong, exception is raised. If no goal is given, then goal 1 is tried but no failure if goal 1 does not exist, just fall back to gloab env.
2014-12-16Fix for #3154: use CUnix.sys_command to call native compiler.Maxime Dénès
Patch by CJ on bugzilla. CUnix.sys_command doesn't rely on a shell, so extra care with cmd.exe vs sh is no longer required.
2014-12-15Changed bullet informations to warning for better display in PG.Pierre Courtieu
Since it displays together with the goal, it is better (for pg and other interfaces probably) that they are in a different message.
2014-12-15Adapted test file for About.Pierre Courtieu
2014-12-15Tentatively starting to use heuristics for evar-evar resolution: firstHugo Herbelin
step, prefer QuestionMark's to other evars, to comply with the filtering made on VarInstance, GoalEvar and QuestionMark for type class resolution. Maybe evars to be resolved by type class instances should eventually be marked with a specific tag. At least, this solves the current problem with compiling cancel2.v in LemmaOverloading.
2014-12-15Failing on unbound notation variable in notation level modifiersHugo Herbelin
+ consequences of this check on the standard library (moved the no-op in Notation modifiers to what there were supposed to do; these are anyway local notations, so compatibility is safe - please AS or PL, amend if needed).
2014-12-15New try on Fixing an evar_map bug revealed by commit 603b66f81 onHugo Herbelin
unification flags (see also temporary revert in d083200ae5b).
2014-12-15Tests for #3848 and #3854.Hugo Herbelin
2014-12-15Documenting check_record + changing a possibly undefined int into int option.Hugo Herbelin
2014-12-15About now accepts hypothesis names and goal selector.Pierre Courtieu
2014-12-15Fix treatment of universe context in typecheck inductive (was addedMatthieu Sozeau
twice). Thanks to Marc Lasson for spotting this.
2014-12-15Tests for Searchxxx commands added and modified.Pierre Courtieu
2014-12-15Fixing bug #3865.Pierre-Marie Pédrot
2014-12-14Util.un_op -> Option.defaultPierre Boutillier
2014-12-14Fix merging of name maps in union of universe contexts.Matthieu Sozeau
2014-12-14Fixing bug #3858 and #3817 in one stroke.Pierre-Marie Pédrot
2014-12-14Revert "Fixing bug #3817."Pierre-Marie Pédrot
This reverts commit ad2a0308b1592c7235714a2cca926f3b55accbb2.
2014-12-12Add Ltac syntax for the [tclIFCATCH] primitive.Arnaud Spiwack
[tryif t then t2 else t3] behaves like [t;t2] if [t] has at least one success, or [t3] otherwise. It generalises [t||t3] as failures from [t2] will not be caught.
2014-12-12Make sure the goals on the shelve are identified as goal and unresolvable ↵Arnaud Spiwack
for typeclasses. This was not the case for goals created at the end of the tactic by salvaging the [future_goals] from the evar map. It would cause typeclass resolution to try and solve these goals (if they have a class type) at each subsequent tactic. Fixes #3841.
2014-12-12Searchxxx now interpret patterns in goal environment if any.Pierre Courtieu
This makes such things work: x:nat h: x = 3 ================ True Search x.
2014-12-12#4843 part 2 : The .cmxs files for plug-ins must have execute permissionPierre Boutillier
2014-12-12Fix #3163 and #3843 part 1 : Cygwin DLLs have extension ".so", not ".dll"Pierre Boutillier
2014-12-12Fix #3800 : cmxs need execution priviledges under windowsPierre Boutillier