aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-24Fixing anomaly on unsupported key in interactive ltac debug.Hugo Herbelin
2017-02-23Fixing a little bug in printing ex2 (type was printed "_" by default).Hugo Herbelin
2017-02-23Fixing a little bug in using the "where" clause for inductive types.Hugo Herbelin
This was not working when the inductive type had implicit parameters. This could still be improved. E.g. the following still does not work: Reserved Notation "#". Inductive I {A:Type} := C : # where "#" := I. But it should be made working by taking care of adding the mandatory implicit argument A at the time # is interpreted as [@I _] (i.e., technically speaking, using expl_impls in interp_notation).
2017-02-23Fixing #use"include" after vernac is added and ltac is moved to a plugin.Hugo Herbelin
2017-02-22Merge branch 'v8.6'Pierre-Marie Pédrot
2017-02-22Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2017-02-21Allow interactive editing of Coq.Init.LogicJason Gross
Without this change, coqtop complains that I need to require Coq.Init.Logic to use [replace ... with ... by ...].
2017-02-21[travis] track an 8.7 specific branch of HoTT.Maxime Dénès
This is required since we merged PR#309: Ltac as a plugin.
2017-02-21Merge PR#309: Ltac as a pluginMaxime Dénès
2017-02-21Add empty ltac_plugin file for forward compatibility.Maxime Dénès
This is in preparation for landing of PR#309: Ltac as a plugin
2017-02-20Fix V7 syntax in refman.Théo Zimmermann
2017-02-20Deprecate -debug flag.Maxime Dénès
2017-02-20Merge PR#189: Remove tabulation support from pretty-printing.Maxime Dénès
2017-02-20Merge pull request #4 from Zimmi48/patch-1Emilio Jesús Gallego Arias
[ocamlbuild] fix small mistakes in descriptions
2017-02-20[ocamlbuild] fix small mistakes in descriptionsThéo Zimmermann
2017-02-20[ocamlbuild] Update meta for the vernac split.Emilio Jesus Gallego Arias
2017-02-19Fixing debugger after the split of toplevel into vernac.Pierre-Marie Pédrot
2017-02-19Optimizing array mapping in the kernel.Pierre-Marie Pédrot
We unroll the map operation by hand in two performance-critical cases so as not to call the generic array allocation function in OCaml, and allocate directly on the minor heap instead. The generic array function is slow because it needs to discriminate between float and non-float arrays. The unrolling replaces this by a simple increment to the minor heap pointer and moves from the stack. The quantity of unrolling was determined by experimental measures on various Coq developments. It looks like most of the maps are for small arrays of size lesser or equal to 4, so this is what is implemented here. We could probably extend it to an even bigger number, but that would result in ugly code. From what I've seen, virtually all maps are of size less than 16, so that we could probably be almost optimal by going up to 16 unrollings, but the code tradeoffs are not obvious. Maybe when we have PPX?
2017-02-17remove obsolete file dev/Makefile.ougPierre Letouzey
2017-02-17Removing spurious folder includes in coq_makefile.Pierre-Marie Pédrot
2017-02-17Documenting the pluginification of Ltac.Pierre-Marie Pédrot
2017-02-17Fix .gitignore.Pierre-Marie Pédrot
2017-02-17Moving the Ltac plugin to a pack-based one.Pierre-Marie Pédrot
This is cumbersome, because now code may fail at link time if it's not referring to the correct module name. Therefore, one has to add corresponding open statements a the top of every file depending on a Ltac module. This includes seemingly unrelated files that use EXTEND statements.
2017-02-17Ltac as a plugin.Pierre-Marie Pédrot
This commit is essentially moving files around. In particular, the corresponding plugin still relies on a mllib file rather than a mlpack one. Otherwise, this causes link-time issues for third-party plugins depending on modules defined in the Ltac plugin.
2017-02-16Fixing #5339 (anomaly with 'pat in record parameters).Hugo Herbelin
2017-02-16[cleanup] Change Id.t option to Name.t in TacFunTej Chajed
2017-02-16reject notations that are both 'only printing' and 'only parsing'Ralf Jung
2017-02-16don't require printing-only notation to be productiveRalf Jung
2017-02-16Merge PR#403: Split Vernacular Processing from ToplevelMaxime Dénès
2017-02-16Merge PR#431Maxime Dénès
[travis] Add math-comp overlays, update CompCert to official version, add UniMath
2017-02-15[travis] [External CI] CompCert official 8.6 support + UniMathEmilio Jesus Gallego Arias
2017-02-15[travis] [External CI] Factor out math-comp installs.Emilio Jesus Gallego Arias
We make math-comp overlays easier, we also start structuring the scripts a bit more.
2017-02-15Make Obligations see fix_exnEnrico Tassi
2017-02-15[stm] Remove unused legacy stm interface.Emilio Jesus Gallego Arias
2017-02-15[cosmetic] Reorder makefile as suggested by @herbelinEmilio Jesus Gallego Arias
2017-02-15[stm] Reenable Show Script command.Emilio Jesus Gallego Arias
We extend `Stm.vernac_interp` so it can handle the commands it should by level. This reenables `Show Script` handling, and this interpretation function should handle more commands in the future such as Load. However note that we must first refactor the parsing state handling a bit and remove the legacy `Stm.interp` before that.
2017-02-15[stm] Break stm/toplevel dependency loop.Emilio Jesus Gallego Arias
Currently, the STM, vernac interpretation, and the toplevel are intertwined in a mutual dependency that needs to be resolved using imperative callbacks. This is problematic for a few reasons, in particular it makes the interpretation of commands that affect the document quite intricate. As a first step, we split the `toplevel/` directory into two: "pure" vernac interpretation is moved to the `vernac/` directory, on which the STM relies. Test suite passes, and only one command seems to be disabled with this approach, "Show Script" which is to my understanding obsolete. Subsequent commits will fix this and refine some of the invariants that are not needed anymore.
2017-02-15Added some theory on powerRZ.Thomas Sibut-Pinote
For this, I used a new inductive type Z_spec to reason on Z.
2017-02-15Merge PR#314: Miscellaneous fixes for Ocaml warnings.Maxime Dénès
2017-02-15[unicode] Address comments in PR#314.Emilio Jesus Gallego Arias
2017-02-14[safe-string] Switch to buffer to `Bytes`Emilio Jesus Gallego Arias
2017-02-14[safe-string] Use `String.init` to build string.Emilio Jesus Gallego Arias
2017-02-14[misc] Remove unused binding.Emilio Jesus Gallego Arias
2017-02-14Merge branch 'master'.Pierre-Marie Pédrot
2017-02-14Porting the ssrmatching plugin to the new EConstr API.Enrico Tassi
2017-02-14Missing API in EConstr.Enrico Tassi
2017-02-14Quick hack to fix interpretation of patterns in Ltac.Pierre-Marie Pédrot
Interpretation of patterns in Ltac is essentially flawed. It does a roundtrip through the pretyper, and relies on suspicious flagging of evars in the evar source field to recognize original pattern holes. After the pattern_of_constr function was made evar-insensitive, it expanded evars that were solved by magical side-effects of the pretyper, even if it hadn't been asked to perform any heuristics. We backtrack on the insensitivity of the pattern_of_constr function. This may have a performance penalty in other dubious code, e.g. hints. In the long run we should get rid of the pattern_of_constr function.
2017-02-14Dedicated datatype for aliases in Evarsolve.Pierre-Marie Pédrot
2017-02-14Removing a subtle nf_enter in Class_tactics.Pierre-Marie Pédrot
The underlying hint mode implementation was not using the evar-insensitive API so that it resulted in strange bugs.
2017-02-14Removing most nf_enter in tactics.Pierre-Marie Pédrot
Now they are useless because all of the primitives are (should?) be evar-insensitive.