aboutsummaryrefslogtreecommitdiffhomepage
path: root/dev
Commit message (Collapse)AuthorAge
* Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-06-09
|\
* | Documenting API changes in dev/doc/changes.txt.Gravatar Pierre-Marie Pédrot2016-06-09
| |
* | Merge PR #197.Gravatar Pierre-Marie Pédrot2016-06-09
|\ \
* | | Adding profiling developer information in dev/doc/profiling.txt.Gravatar Pierre-Marie Pédrot2016-06-08
| | |
| * | Add an explicit replacement rule for Refine moduleGravatar Jason Gross2016-06-08
|/ /
* | Officially discontinue the experimental coq build via ocamlbuildGravatar Pierre Letouzey2016-06-08
| | | | | | | | | | | | | | | | | | It has been accidentaly broken since early 2014 (and especially in 8.5), no easy repair, I won't devote any more hours to this stuff. Moreover no one seems to care apart from Emilio, but he's ok to work on this in a separate repository or branch. I left a dev/doc/ocamlbuild.txt file with a few words about this experiment.
* | proofs/proofs.mllib: no more proof_errors !Gravatar Pierre Letouzey2016-06-08
| |
| * Add license text to the windows installationGravatar Enrico Tassi2016-06-03
| |
* | A slight phase of documentation and uniformization of names ofGravatar Hugo Herbelin2016-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions about interpretation, internalization, externalization of notations. Main syntactic changes: - subst_aconstr_in_glob_constr -> instantiate_notation_constr (because aconstr has been renamed to notation_constr long time ago) - extern_symbol -> extern_notation (because symbol.ml has been renamed to notation.ml long time ago) - documentation of notations_ops.mli Main semantic changes: - Notation_ops.eq_glob_constr which was partial eq disappears: use glob_constr_eq instead - In particular, this impacts a change on funind which now use the (fully implemented) glob_constr_eq Somehow, instantiate_notation_constr should be in notation_ops.ml for symmetry with match_notation_constr but it is bit painful to do.
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-06-01
|\|
* | Merge branch 'yet-another-makefile-bigbang' into trunkGravatar Pierre Letouzey2016-06-01
|\ \
| * | Yet another Makefile reform : a unique phase without nasty make tricksGravatar Pierre Letouzey2016-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're back to a unique build phase (as before e372b72), but without relying on the awkward include-deps-failed-lets-retry feature of make. Since PMP has made grammar/ self-contained, we could now build grammar.cma in a rather straightforward way, no need for a specific sub-call to $(MAKE) for that. The dependencies between files of grammar/ are stated explicitely, since .d files aren't fully available initially. Some Makefile simplifications, for instance remove the CAMLP4DEPS shell horror. Instead, we generalize the use of two different filename extensions : - a .mlp do not need grammar.cma (they are in grammar/ and tools/compat5*.mlp) - a .ml4 is now always preprocessed with grammar.cma (and q_constr.cmo), except coqide_main.ml4 and its specific rule Note that we do not generate .ml4.d anymore (thanks to the .mlp vs. .ml4 dichotomy)
| * | Makefile: restore the use of coqdep_boot for creating .v.d filesGravatar Pierre Letouzey2016-06-01
| | | | | | | | | | | | | | | | | | | | | Coqdep_boot has almost no dependencies, and hence can be compiled very early during the build, without relying on .ml.d files. Some code of system.ml is now in a separate file minisys.ml, which is also included in system.ml for compatibility.
| | * Revert "Rename Lexer -> CLexer."Gravatar Pierre-Marie Pédrot2016-05-31
| | | | | | | | | | | | This reverts commit a66b57ba4bba866bb626bde2b6fe3b762347eb3e.
* | | 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.
| * Pfedit.get_current_context refinement (fix #4523)Gravatar Matthieu Sozeau2016-05-26
| | | | | | | | | | | | | | Return the most appropriate evar_map for commands that can run on non-focused proofs (like Check, Show and debug printers) so that universes and existentials are printed correctly (they are global to the proof). The API is backwards compatible.
* | Removing the Entry module now that rules need not be marshalled.Gravatar Pierre-Marie Pédrot2016-05-10
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-05-09
|\|
| * Rename Lexer -> CLexer.Gravatar Pierre-Marie Pédrot2016-05-09
| |
* | Moving the Val module to Geninterp.Gravatar Pierre-Marie Pédrot2016-05-04
| |
* | A note concerning the "Drop" command.Gravatar Matej Kosik2016-05-03
| |
* | setup.txt : a guide explaining taming Emacs, Merlin, Company, Ocamldebug.Gravatar Matej Kosik2016-05-03
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-04-09
|\|
* | Fixing printing of toplevel values.Gravatar Pierre-Marie Pédrot2016-04-08
| | | | | | | | | | | | | | This is not perfect yet, in particular the whole precedence system is a real mess, as there is a real need for tidying up the Pptactic implementation. Nonetheless, printing toplevel values is only used for debugging purposes, where an ugly display is better than none at all.
| * Use -win32 and -win64 suffixes for installer name on Windows.Gravatar Maxime Dénès2016-04-07
| |
* | Merge remote-tracking branch 'origin/pr/78' into trunk:Gravatar Maxime Dénès2016-04-04
|\ \ | | | | | | | | | | | | An .emacs-ready elisp snippet to parse location of Anomaly backtraces and jump to them conveniently from the Emacs *compilation* output.
* | | Creating a dedicated ltac/ folder for Hightactics.Gravatar Pierre-Marie Pédrot2016-03-21
| | |
* | | Moving Tacenv to Hightactics.Gravatar Pierre-Marie Pédrot2016-03-20
| | |
* | | Moving Tactic_debug to Hightactic.Gravatar Pierre-Marie Pédrot2016-03-20
| | |
* | | Documenting changes.Gravatar Pierre-Marie Pédrot2016-03-20
| | |
* | | Making Evarutil independent from Reductionops.Gravatar Pierre-Marie Pédrot2016-03-20
| | |
* | | Splitting Evarutil in two distinct files.Gravatar Pierre-Marie Pédrot2016-03-20
| | | | | | | | | | | | | | | Some parts of Evarutils were related to the management of evars under constraints. We put them in the Evardefine file.
* | | Pushing Proofview further down the dependency alley.Gravatar Pierre-Marie Pédrot2016-03-20
| | |
* | | Moving Refine to its proper module.Gravatar Pierre-Marie Pédrot2016-03-20
| | |
* | | Do not export entry_key from Pcoq anymore.Gravatar Pierre-Marie Pédrot2016-03-19
| | |
* | | Simplifying the code of Entry.Gravatar Pierre-Marie Pédrot2016-03-19
| | |
* | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-03-18
|\ \ \ | | |/ | |/|
* | | Documenting the change of EXTEND macros.Gravatar Pierre-Marie Pédrot2016-03-18
| | |
| * | Trying to circumvent hdiutil error 5341 by padding.Gravatar Maxime Dénès2016-03-14
| | | | | | | | | | | | | | | | | | | | | When generating the OS X Coq + CoqIDE bundle, hdiutil often produces error 5341. This seems to be a known bug on Apple's side, occurring for some sizes of dmg files. We try to change the current (problematic) size by adding a file full of random bits.
* | | Removing an empty file detected by Luc Grateau.Gravatar Hugo Herbelin2016-03-12
| | |
* | | Merge branch 'render-prehistory' of https://github.com/aspiwack/coq into ↵Gravatar Hugo Herbelin2016-03-09
|\ \ \ | | | | | | | | | | | | | | | | | | | | aspiwack-render-prehistory3 Pull request #120
* | | | Putting Tactic_debug just below Tacinterp.Gravatar Pierre-Marie Pédrot2016-03-06
| | | |
* | | | Moving Tactic_debug to tactics/ folder.Gravatar Pierre-Marie Pédrot2016-03-06
| | | |
* | | | Moving Ltac traces to Tacexpr and Tacinterp.Gravatar Pierre-Marie Pédrot2016-03-06
| | | |
* | | | Fixing bug #4610: Fails to build with camlp4 since the TACTIC EXTEND move.Gravatar Pierre-Marie Pédrot2016-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We just reuse the same one weird old trick in CAMLP4 to compare keywords and identifiers as tokens. Note though that the commit 982460743 does not fix the keyword vs. identifier issue in CAMLP4, so that the corresponding test fails. This means that since that commit, some code compiling with CAMLP5 does not when using CAMLP4, making it a second-class citizen.
* | | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-03-05
|\ \ \ \ | | |/ / | |/| |
| * | | Rename Ephemeron -> CEphemeron.Gravatar Maxime Dénès2016-03-04
| | | | | | | | | | | | | | | | Fixes compilation of Coq with OCaml 4.03 beta 1.
| * | | Fix a typo in dev/doc/changes.txtGravatar Jason Gross2016-03-04
| | | | | | | | | | | | CQQ -> COQ
* | | | CLEANUP: Context.{Rel,Named}.Declaration.tGravatar Matej Kosik2016-02-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Originally, rel-context was represented as: Context.rel_context = Names.Name.t * Constr.t option * Constr.t Now it is represented as: Context.Rel.t = LocalAssum of Names.Name.t * Constr.t | LocalDef of Names.Name.t * Constr.t * Constr.t Originally, named-context was represented as: Context.named_context = Names.Id.t * Constr.t option * Constr.t Now it is represented as: Context.Named.t = LocalAssum of Names.Id.t * Constr.t | LocalDef of Names.Id.t * Constr.t * Constr.t Motivation: (1) In "tactics/hipattern.ml4" file we define "test_strict_disjunction" function which looked like this: let test_strict_disjunction n lc = Array.for_all_i (fun i c -> match (prod_assum (snd (decompose_prod_n_assum n c))) with | [_,None,c] -> isRel c && Int.equal (destRel c) (n - i) | _ -> false) 0 lc Suppose that you do not know about rel-context and named-context. (that is the case of people who just started to read the source code) Merlin would tell you that the type of the value you are destructing by "match" is: 'a * 'b option * Constr.t (* worst-case scenario *) or Named.Name.t * Constr.t option * Constr.t (* best-case scenario (?) *) To me, this is akin to wearing an opaque veil. It is hard to figure out the meaning of the values you are looking at. In particular, it is hard to discover the connection between the value we are destructing above and the datatypes and functions defined in the "kernel/context.ml" file. In this case, the connection is there, but it is not visible (between the function above and the "Context" module). ------------------------------------------------------------------------ Now consider, what happens when the reader see the same function presented in the following form: let test_strict_disjunction n lc = Array.for_all_i (fun i c -> match (prod_assum (snd (decompose_prod_n_assum n c))) with | [LocalAssum (_,c)] -> isRel c && Int.equal (destRel c) (n - i) | _ -> false) 0 lc If the reader haven't seen "LocalAssum" before, (s)he can use Merlin to jump to the corresponding definition and learn more. In this case, the connection is there, and it is directly visible (between the function above and the "Context" module). (2) Also, if we already have the concepts such as: - local declaration - local assumption - local definition and we describe these notions meticulously in the Reference Manual, then it is a real pity not to reinforce the connection of the actual code with the abstract description we published.
* | | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-01-29
|\| | |