aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-11-05lib/richPp: Fix a bug related to the compatibility with ocaml 3.12Yann Régis-Gianas
- The previous version of this module was using a feature of the Format module of ocaml 4.01. - Add comments.
2014-11-04lib/Ppconstr: Cosmetics.Regis-Gianas
2014-11-04lib/Ppconstr: Cosmetics.Regis-Gianas
2014-11-04lib/richPp: Cosmetics.Regis-Gianas
2014-11-04lib/Pp.tag: New.Regis-Gianas
A combinator to introduce tags. printing/{Ppconstr, Ppvernac}: Use it.
2014-11-04lib/Xml_parser.parse: Publish and document new interface.Regis-Gianas
2014-11-04lib/Xml_printer.pcdata_to_string: Publish.Regis-Gianas
2014-11-04printing/RichPrinter: New API for rich pretty-printing.Regis-Gianas
printing/Ppannotation: Define the projection of annotations into XML attributes. lib/richPp: Implements valid entities escaping.
2014-11-04lib/Pp.rewrite: New.Regis-Gianas
Allow strings of a pretty-print to be rewritten just before the actual output.
2014-11-04lib/Xml_printer: Handle non-breakable spaces.Regis-Gianas
2014-11-04lib/Xml_parser.parse: Make canonicalization optional. (By default, it is ↵Regis-Gianas
applied, to preserve previous behaviors.
2014-11-04lib/Xml_parser: Cosmetics.Regis-Gianas
2014-11-04lib/Xml_parser: Cosmetics.Regis-Gianas
2014-11-04Xml_lexer: Handle non-breakable spaces.Regis-Gianas
2014-11-04RichPp: New module.Regis-Gianas
It is responsible for turning a tagged pretty-printing into a semi-structured document. clib.mllib: Include RichPp as well as Xml_*. The migration of Xml_* from lib to clib is needed by RichPp depends on these modules.
2014-11-04Xml_datatype.gxml: New type for semi-structured documents.Regis-Gianas
Xml_parser, Xml_printer: Use it.
2014-11-04lib/Pp: Publish combinators for tags opening and closing.Regis-Gianas
2014-11-04lib/Pp.ppcmd_token:Regis-Gianas
Extend this type with Ppcmd_open_tag and Ppcmd_close_tag. lib/Pp.ppcmd_pp_dirs: Handle these tags with a straightforward translation to corresponding Format commands.
2014-11-04lib/Pp: Cosmetics.Regis-Gianas
2014-11-01Add an [Info Level] option to print info traces automatically.Arnaud Spiwack
[Set Info Level n] prints all info traces at level [n]. [Unset Info Level] stops the automatic printing of info traces. The unfolding level [n] can be overloaded by local [Info m tac] calls.
2014-10-31Feedback message: hold extra info to help routingEnrico Tassi
PIDE based GUIs can take advantage of multiple panels and get some feedback routed there. E.g. query panel
2014-10-31STM: new worker for queriesEnrico Tassi
With the options -async-queries-always-delegate queries are always delegated to a worker process (Eval, Check, ...). Users of PIDE based UIs (in Denmark) reported that the current behavior of processing query synchronously is rather unexpected when one is used to get proofs processed asynchronously. Non instantaneous queries are part of many scripts and are there as "tests" for testing the execution of recursive functions. A standard proof script shape in an ongoing work by Appel and Bengtson is made of blocks like: - recursive function definition, - some tests, - some proofs And one cannot quickly jump over the tests (only the proofs). Enclosing the queries into dummy proofs to recover a reactive UI is just annoying. Hence this patch. Currently CoqIDE is not able to integrate the asynchronous feedback of the query workers into the document, hence if one passes the option to CoqIDE one only gets a boolean out of queries (processed/error).
2014-10-25Changed implementation of lib/heap.ml to use Braun treesJean-Christophe Filliatre
The previous implementation was embarrassingly naive and inefficient. For elements with the same priority, this new implementation may return a maximum element that is different (yet still with the highest priority, of course). This code is used only in tactic firstorder.
2014-10-24-help failing (fix 3762)Enrico Tassi
2014-10-23Monad: change the error managing of two-list combinators.Arnaud Spiwack
Otherwise I risked catching errors from the argument functions when I wanted to catch size mismatch to add information to errors.
2014-10-22Goal printing made uniform: always done in STM (close 3585)Enrico Tassi
Goal printing was partially broken. Some commands in vernacentries were printing, but not all of them. Moreover an unlucky combination of `Flags.verbosely (fun () -> interp "Set Silent")` was making the silent flag not settable anymore. Now STM always print the open goals after a command when run in interactive mode via coqtop or emacs. More modern GUI do ask for the goals.
2014-10-22An additional [List.iter] monadic combinator.Arnaud Spiwack
2014-10-22Add more primitives to the [Monad.Make] arguments.Arnaud Spiwack
For optimisation purposes.
2014-10-22Proofview: move [list_goto] to the [CList] module.Arnaud Spiwack
It is, after all, a generic function about lists.
2014-10-22Add a two-list monadic fold_left iterator.Arnaud Spiwack
2014-10-22Small optimisation in the monadic list combinators.Arnaud Spiwack
The monadic bind can be costly, so sparing a few can be worth it. Therefore I unrolled the last element of the recursions. I took the opportunity to do some loop unrolling, which is probably more useful for map combinators than for fold.
2014-10-22Factor module signatures.Arnaud Spiwack
2014-10-13When loading libraries, feed back dependencies.Carst Tankink
These dependencies between files can be used by UIs to guide compilation and reloading of files. FileDependency (Some "/foo.v", "/bar.v") means foo depends on bar. FileDependency (None, "/bar.v") means the current file depends on bar.
2014-10-13STM: primitives to snapshot a .vi while in interactive modeEnrico Tassi
2014-10-13library/opaqueTables: enable their use in interactive modeEnrico Tassi
Before this patch opaque tables were only growing, making them unusable in interactive mode (leak on Undo). With this patch the opaque tables are functional and part of the env. I.e. a constant_body can point to the proof term in 2 ways: 1) directly (before the constant is discharged) 2) indirectly, via an int, that is mapped by the opaque table to the proof term. This is now consistent in batch/interactive mode This is step 0 to make an interactive coqtop able to dump a .vo/.vi
2014-10-09Fixup leading ./ path cleaningPierre Boutillier
2014-10-07Splitting out of auto.ml a file hints.ml dedicated to hints so as toHugo Herbelin
being able to export hints without tactics, vm, etc. to come with. Some functions moved to the new proof engine.
2014-10-05A few improvements on pattern-matching compilation.Hugo Herbelin
- Optimize the removal of generalization when there is no dependency in the generalized variable (see postprocess_dependencies, and the removal of dependencies in the default type of impossible cases). - Compute the onlydflt flag correctly (what allows automatic treatment of impossible cases even when there is no clause at all).
2014-10-01STM: report the (structured) goals as XMLCarst Tankink
The leafs of the XML trees are still pretty-printed strings, but this could be refined later on.
2014-09-25Remove some 'deprecated' warnings.Xavier Clerc
2014-09-18Fix debug printing with primitive projections.Matthieu Sozeau
Add a flag to indicate if we're in the toplevel or debuggger to not try to retype terms in the wrong environment (and making find_rectype, get_type_of untraceable). This fixes bug #3638 along with the previous commit.
2014-09-16Undo prints only if coqtop || emacsEnrico Tassi
2014-09-09Undo: if the ui is coqtop (command line) then Undo is not part of the doc.Enrico Tassi
2014-09-09toploop plugins taken into account when printing --help (close: 3535)Enrico Tassi
E.g. Coq options are: -I dir look for ML files in dir -include dir (idem) [...] -h, --help print this list of options With the flag '-toploop coqidetop' these extra option are also available: --help-XML-protocol print the documentation of the XML protocol used by CoqIDE
2014-09-08Removing dead code relative to the XML plugin.Pierre-Marie Pédrot
2014-09-05Adding a Ftactic module for potentially focussing tactics.Pierre-Marie Pédrot
The code for the module was moved from Tacinterp. We still expose partially the implementation of the Ftactic.t type, for the sake of simplicity. It may be dangerous if used improperly though.
2014-09-02coqworkmgrEnrico Tassi
2014-08-29Type-safe version of genarg list / pair / opt functions.Pierre-Marie Pédrot
2014-08-29Simplification of Genarg unpackers.Pierre-Marie Pédrot
Instead of having a version of unpackers for each level, we use a dummy argument to force unification of types.
2014-08-28Fixing bug #3541.Pierre-Marie Pédrot
All superscript numbers are now symbols instead of parts of identifiers. This disallows some identifiers, but hopefully not a lot of people were using superscripts as part of identifiers, weren't they?