aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2015-06-25Moved fatal_error from Coqtop to Errors and corrected dependencies accordingly.Thomas Sibut-Pinote
This allows fatal_error to be used for printing anomalies at loading time.
2015-06-23Add a Set Dump Bytecode command for debugging purposes.Maxime Dénès
Prints the VM bytecode produced by compilation of a constant or a call to vm_compute.
2015-05-29Flag -test-mode intended to be used for ad-hoc prints in test-suiteEnrico Tassi
Of course there is an exception to the previous commit. Fail used to print even if silenced but loading a vernac file. This behavior is useful only in tests, hence this flag.
2015-05-22Continuing 4b5af0d6e9 and 69941d4e19 about filename case check on MacOS X.Hugo Herbelin
Thanks to Vadim Zaliva for testing.
2015-05-21Changing the heuristic fixing bug #4241.Pierre Courtieu
Fixed #4241 correlates Printing Width and max_indent, this patch changes the correlation to the following one: max_indent = max ((wdth*80)/100) (wdth-30) i.e. the right column defined by max_indent is 20% of the global width, but capped to 30 characters.
2015-05-20Answering report #4241 (formatting of boxes not behaving regularlyHugo Herbelin
when printing width extend).
2015-05-20Continuing incomplete 4b5af0d6e9ec1 (on MacOS X, ensuring that filesHugo Herbelin
found in the file system have the expected lowercase/uppercase spelling)
2015-05-18The Fail command does not catch uncaught exception anomalies anymore.Pierre-Marie Pédrot
2015-05-15On MacOS X, ensuring that files found in the file system have theHugo Herbelin
expected lowercase/uppercase spelling (based on a patch by Pierre B.). This should fix #2554 (and see also discussion on coq-club, May 2015).
2015-05-14The -list-tag options now prints the corresponding COQ_COLORS value.Pierre-Marie Pédrot
2015-05-14Adding an option -w to control Coq warning output.Pierre-Marie Pédrot
For now, warnings are still ignored by default, but this may change. This commit at least allows to print them whenever desired. The -w syntax is also opened to future additions to further control the display of warnings.
2015-05-14Disable precompilation for native_compute by default.Guillaume Melquiond
Note that this does not prevent using native_compute, but it will force on-the-fly recompilation of dependencies whenever it is used. Precompilation is enabled for the standard library, assuming native compilation was enabled at configuration time. If native compilation was disabled at configuration time, native_compute falls back to vm_compute. Failure to precompile is a hard error, since it is now explicitly required by the user.
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.