aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins
Commit message (Collapse)AuthorAge
* Feedback cleanupGravatar Emilio Jesus Gallego Arias2016-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | This patch splits pretty printing representation from IO operations. - `Pp` is kept in charge of the abstract pretty printing representation. - The `Feedback` module provides interface for doing printing IO. The patch continues work initiated for 8.5 and has the following effects: - The following functions in `Pp`: `pp`, `ppnl`, `pperr`, `pperrnl`, `pperr_flush`, `pp_flush`, `flush_all`, `msg`, `msgnl`, `msgerr`, `msgerrnl`, `message` are removed. `Feedback.msg_*` functions must be used instead. - Feedback provides different backends to handle output, currently, `stdout`, `emacs` and CoqIDE backends are provided. - Clients cannot specify flush policy anymore, thus `pp_flush` et al are gone. - `Feedback.feedback` takes an `edit_or_state_id` instead of the old mix. Lightly tested: Test-suite passes, Proof General and CoqIDE seem to work.
* Extraction : add a location in the error message about polypropGravatar Pierre Letouzey2016-05-30
|
* Extraction: code cleanup in CommonGravatar Pierre Letouzey2016-05-20
|
* Extraction: don't call Unicode.ascii_of_ident twice (not idempotent anymore)Gravatar Pierre Letouzey2016-05-19
|
* Micromega: qualify Coq.micromega.Tauto (avoid coqdep warnings about new ↵Gravatar Pierre Letouzey2016-05-19
| | | | Init/Tauto.v)
* Removing the old refine tactic from the Tactics module.Gravatar Pierre-Marie Pédrot2016-05-17
| | | | | | It is indeed confusing, as it has little to do with the proper refine defined in the New submodule. Legacy code relying on it should call the Logic or Tacmach modules instead.
* Put the "generalize" tactic in the monad.Gravatar Pierre-Marie Pédrot2016-05-16
|
* Put the "exact" family of tactic in the monad.Gravatar Pierre-Marie Pédrot2016-05-16
|
* Put the "fix" tactic in the monad.Gravatar Pierre-Marie Pédrot2016-05-16
|
* Put the "clear" tactic into the monad.Gravatar Pierre-Marie Pédrot2016-05-16
|
* Removing dead code and unused opens.Gravatar Pierre-Marie Pédrot2016-05-08
|
* Interpretation function can return any untyped value.Gravatar Pierre-Marie Pédrot2016-05-04
|
* More toplevel value representation sharing.Gravatar Pierre-Marie Pédrot2016-05-04
|
* Moving the Val module to Geninterp.Gravatar Pierre-Marie Pédrot2016-05-04
|
* Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-05-04
|\
| * Fix Haskell extraction for terms over 45 characters longGravatar Nickolai Zeldovich2016-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Haskell extraction code would allow line-wrapping of the Haskell type definition, which would lead to unparseable Haskell code when the linebreak occured just before the type name. In particular, with a term name of 46 characters or more, the following Coq code: Definition xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx := tt. Extraction Language Haskell. Extraction xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. would produce: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx :: Unit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx = Tt which failed to compile with GHC (according to Haskell's indentation rules, the "Unit" line must be indented to be treated as a continuation of the previous line). This patch always forces the type onto a separate line, and ensures that it is always indented by 2 spaces (just like the body of each definition).
| * Handle primitive projections inside types when extracting (bug #4616).Gravatar Guillaume Melquiond2016-05-04
| | | | | | | | | | Note that extracting terms containing primitive projections is still utterly broken, so don't use them.
* | Merge branch 'haskell-type-indent' of https://github.com/zeldovich/coq into ↵Gravatar Pierre Letouzey2016-05-04
|\ \ | | | | | | | | | trunk
| | * Remove extraneous space in coqtop/pg output (bug #4675).Gravatar Guillaume Melquiond2016-05-03
| | |
* | | Revert "Fixing printers for pr_auto_using and pr_firstorder_using."Gravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | This reverts commit 23ebfc41fba48ccce9bc878de258d1b0901f7dda.
* | | Revert "Fixing printing of Function."Gravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | This reverts commit cb6f036b8e097085a849f806aa7c2627b789bd1f.
* | | Revert "Adding printers for ring and field commands."Gravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | This reverts commit 9df1a3cf26d78df507d0e35c2d9ca987151777be.
* | | Revert "Fixing a mispelling coma -> comma."Gravatar Hugo Herbelin2016-04-27
| | | | | | | | | | | | This reverts commit 857dc0aaae30805725da213b6550dc1ff3a7adb2.
* | | Fixing a mispelling coma -> comma.Gravatar Hugo Herbelin2016-04-27
| | |
* | | Adding printers for ring and field commands.Gravatar Hugo Herbelin2016-04-27
| | |
* | | Fixing printing of Function.Gravatar Hugo Herbelin2016-04-27
| | |
* | | Fixing printers for pr_auto_using and pr_firstorder_using.Gravatar Hugo Herbelin2016-04-27
| | |
* | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-04-24
|\ \ \ | | |/ | |/|
* | | Bugfix micromega: more careful syntaxification of terms of the form (Rinv t)Gravatar Frédéric Besson2016-04-18
| | | | | | | | | | | | | | | | | | Bug uncovered by ekcburak@hotmail.com https://sympa.inria.fr/sympa/arc/coq-club/2016-04/msg00006.html Now, terms of the the form (Rinv t) are only syntaxified when t evaluates to a non-zero constant.
* | | Removing redundant *_TYPED AS clauses in EXTEND statements.Gravatar Pierre-Marie Pédrot2016-04-12
| | |
* | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-04-09
|\ \ \
| | * | Fix order of arguments to Big.compare_case in ExtrOcamlZBigInt.vGravatar Nickolai Zeldovich2016-04-09
| |/ / | | | | | | | | | | | | | | | The extraction of [Z] into Ocaml's [Big_int] passed arguments in the wrong order to [Big.compare_case] for [Pos.compare_cont]. It seems unlikely this ever worked before.
| * | Fixing a source of inefficiency and an artificial dependency in theGravatar Daniel de Rauglaudre2016-04-08
| | | | | | | | | | | | | | | | | | | | | printer in the congruence tactic. Debugging messages were always built even when not in the verbose mode of congruence.
* | | Getting rid of the "_mods" parsing entry.Gravatar Pierre-Marie Pédrot2016-04-01
| | | | | | | | | | | | | | | | | | It was only used by setoid_ring for the Add Ring command, and was easily replaced by a dedicated argument. Moreover, it was of no use to tactic notations.
* | | Moving the proof mode parsing management to Pcoq.Gravatar Pierre-Marie Pédrot2016-03-19
| | |
* | | Removing the special status of generic arguments defined by Coq itself.Gravatar Pierre-Marie Pédrot2016-03-17
| | | | | | | | | | | | | | | | | | | | | | | | This makes the TACTIC EXTEND macro insensitive to Coq-defined arguments. They now have to be reachable in the ML code. Note that this has some consequences, as the previous macro was potentially mixing grammar entries and arguments as long as their name was the same. Now, each genarg comes with its grammar instead, so there is no way to abuse the macro.
* | | Removing the special status of generic entries defined by Coq itself.Gravatar Pierre-Marie Pédrot2016-03-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARGUMENT EXTEND macro was discriminating between parsing entries known statically, i.e. defined in Pcoq and unknown entires. Although simplifying a bit the life of the plugin writer, it made actual interpretation difficult to predict and complicated the code of the ARGUMENT EXTEND macro. After this patch, all parsing entries and generic arguments used in an ARGUMENT EXTEND macro must be reachable by the ML code. This requires adding a few more "open Pcoq.X" and "open Constrarg" here and there.
* | | Adding a universe argument to Pcoq.create_generic_entry.Gravatar Pierre-Marie Pédrot2016-03-17
| | |
* | | Removing the registering of default values for generic arguments.Gravatar Pierre-Marie Pédrot2016-03-17
| | |
* | | Supporting "(@foo) args" in patterns, where "@foo" has no arguments.Gravatar Hugo Herbelin2016-03-13
| | |
* | | Removing OCaml deprecated function names from the Lazy module.Gravatar Pierre-Marie Pédrot2016-03-10
| | |
* | | Removing useless grammar.cma dependencies.Gravatar Pierre-Marie Pédrot2016-03-06
| | |
* | | Splitting the nsatz ML module into an implementation and a grammar files.Gravatar Pierre-Marie Pédrot2016-03-06
| | |
* | | Moving Eauto to a simple ML file.Gravatar Pierre-Marie Pédrot2016-03-06
| | |
* | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-03-05
|\| |
* | | Using build_selector from Equality as a replacement of the selectorGravatar Hugo Herbelin2016-03-05
| | | | | | | | | | | | | | | | | | | | | | | | in cctac which does not support indices properly. Incidentally, this should fix a failure in RelationAlgebra, where making prod_applist more robust (e8c47b652) revealed the discriminate bug in congruence.
| * | Rename Ephemeron -> CEphemeron.Gravatar Maxime Dénès2016-03-04
| | | | | | | | | | | | Fixes compilation of Coq with OCaml 4.03 beta 1.
* | | Making parentheses mandatory in tactic scopes.Gravatar Pierre-Marie Pédrot2016-03-04
| | |
* | | Getting rid of the "<:tactic< ... >>" quotations.Gravatar Pierre-Marie Pédrot2016-02-24
| | | | | | | | | | | | | | | | | | | | | It used to allow to represent parts of tactic AST directly in ML code. Most of the uses were trivial, only calling a constant, except for tauto that had an important code base written in this style. Removing this reduces the dependency to CAMLPX and the preeminence of Ltac in ML code.
* | | Moving the Tauto tactic to proper Ltac.Gravatar Pierre-Marie Pédrot2016-02-22
| | | | | | | | | | | | | | | | | | This gets rid of brittle code written in ML files through Ltac quotations, and reduces the dependance of Coq to such a feature. This also fixes the particular instance of bug #2800, although the underlying issue is still there.