aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2015-05-04Add a [Redirect] vernacular commandClément Pit--Claudel
The command [Redirect "filename" (...)] redirects all the output of [(...)] to file "filename.out". This is useful for storing the results of an [Eval compute], for redirecting the results of a large search, for automatically generating traces of interesting developments, and so on.
2015-04-23Remove almost all the uses of string concatenation when building error messages.Guillaume Melquiond
Since error messages are ultimately passed to Format, which has its own buffers for concatenating strings, using concatenation for preparing error messages just doubles the workload and increases memory pressure.
2015-04-23Removing dead code in Pp.Pierre-Marie Pédrot
2015-04-22Pp: obsolete comment.Arnaud Spiwack
Was made incorrect by 98a710caf5e907344329ee9e9f7b5fd87c50836f .
2015-04-22Do not use list concatenation when gluing streams together, just mark them ↵Guillaume Melquiond
as glued. Possible improvement: rotate using the left children in the glue function, so that the iter function becomes mostly tail-recursive. Drawback: two allocations per glue instead of a single one. This commit makes the following command go from 7.9s to 3.0s: coqtop <<< "Require Import BigZ ZBinary Reals OrdersEx. Time SearchPattern _." | tail -n 1
2015-04-21STM: print trace on "anomaly, no safe id attached"Enrico Tassi
2015-03-16Adding a primitive to dump the current association table of dynamic types.Pierre-Marie Pédrot
2015-02-26Fixing printing of ordinals.Pierre-Marie Pédrot
2015-02-24New function [Constr.equal_with] to compare terms up to variants of ↵Arnaud Spiwack
[kind_of_term]. To be able to write equality up to evar instantiation instantiation. Generalises the main function of [eq] constr over the variant of [kind_of_term] it uses. It prevents some optimisation of [Array.equal] where two physically equal arrays are considered (less or) equal. But it does not seem to have appreciable effects on efficiency.
2015-02-23Fix some typos in comments.Guillaume Melquiond
2015-02-21Future: human readable name for delegated (Close #4065)Enrico Tassi
2015-02-12Revert "Using same code for browsing physical directories in coqtop and coqdep."Hugo Herbelin
(Sorry, was not intended to be pushed) This reverts commit 5268efdefb396267bfda0c17eb045fa2ed516b3c.
2015-02-12Using same code for browsing physical directories in coqtop and coqdep.Hugo Herbelin
In particular: - abstracting the code using calls to Unix opendir, stat, and closedir, - uniformly using warnings when a directory does not exist (coqtop was ignoring silently and coqdep was exiting via handle_unix_error).
2015-02-11Adding a statistic function on hashconsing tables.Pierre-Marie Pédrot
2015-02-07Fixing bug #4009.Pierre-Marie Pédrot
We only allow color output under Unix OSes.
2015-02-06More efficient Richpp.Pierre-Marie Pédrot
We build the rich XML at once without generating the printed string.
2015-02-05Marshal.from_string on 32 bit systems use tmpfile if needed (Close: 3968)Enrico Tassi
Strings are at most 16M on 32 bit OCaml, and the system state may be bigger. In this case we write to tmp file and Marshal.from_channel. We can't directly use the channel interface because of badly designed non blocking API (available only on fds and not channels).
2015-02-04More efficient implementation of Richpp.Pierre-Marie Pédrot
Instead of constructing the XML string and parsing it afterwards, we build it by hijacking the formatting output.
2015-02-04CThread: workaround for threads lockup on windwos made more aggressiveEnrico Tassi
2015-02-02Removing dead code.Pierre-Marie Pédrot
2015-01-12Update headers.Maxime Dénès
2015-01-12Fix a few typos.Maxime Dénès
2015-01-11Extraction: no more ascii blob in type variables (fix #3227)Pierre Letouzey
Since type variables are local to the definition, we simply rename them in case of unicode chars. We also get rid of any ' to avoid Ocaml illegal 'a' type var (clash with char litteral).
2015-01-10Adding more sharing in Map.udpate and Map.modify.Pierre-Marie Pédrot
2015-01-06Safer version of the implementation of stores.Pierre-Marie Pédrot
2015-01-06remove unused iArrayEnrico Tassi
2015-01-06rename: vi -> vioEnrico Tassi
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-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-17Ensuring the good invariants of hashcons table generation in the API.Pierre-Marie Pédrot
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: rename and simplify flagsEnrico 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-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-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-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-14Util.un_op -> Option.defaultPierre Boutillier
2014-12-14Fixing bug #3858 and #3817 in one stroke.Pierre-Marie Pédrot
2014-12-12Searchxxx now search also the hypothesis and support goal selector.Pierre Courtieu
Documentation also updated.
2014-12-09Switch the few remaining iso-latin-1 files to utf8Pierre Letouzey
2014-12-01Better commentEnrico Tassi
2014-11-28Future: API for blocking futuresEnrico Tassi
2014-11-27better to always print the thread idEnrico Tassi
2014-11-27async_queries_* merged with async_proofs_*Enrico Tassi
2014-11-27Feedback: API cleaned up, documented and made user extensibleEnrico Tassi
2014-11-19Making map_union a standard function of the ML library.Hugo Herbelin
2014-11-15Reworking the -color flag of coqtop.Pierre-Marie Pédrot