aboutsummaryrefslogtreecommitdiffhomepage
path: root/dev/doc
Commit message (Collapse)AuthorAge
* Document the API changes.Gravatar Pierre-Marie Pédrot2017-04-27
|
* Documenting EConstr for developpers.Gravatar Pierre-Marie Pédrot2017-04-19
|
* Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-04-15
|\
| * Fix EOL characters in xml protocol documentation.Gravatar Maxime Dénès2017-04-14
| |
| * update XML protocol doc to 8.6Gravatar Paul Steckler2017-04-13
| |
| * add XML protocol doc for 8.5Gravatar Paul Steckler2017-04-13
| |
* | Merge PR#441: Port Toplevel to the Stm APIGravatar Maxime Dénès2017-04-12
|\ \
| * | [stm] Improve error messages on add/parse.Gravatar Emilio Jesus Gallego Arias2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As suggested by @psteckler in #524 , we give more explicit information about what is wrong. We also provide some debug information for the possible dangerous case of having the tip go out of sync with the real installed state (which will make parsing fail if there was some changes to the parser). We also fix a couple of typos noticed by Paul, thanks Paul.
| * | [stm] Port the toplevel to the STM.Gravatar Emilio Jesus Gallego Arias2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - We clean-up `Vernac` and make it use the STM API. - Now functions in `Vernac` for use in the toplevel and compiler take an starting `Stateid.t`. - Duplicated `Stm.interp` entry point is removed. - The XML protocol call `interp` is disabled.
| * | [stm] Move main parsing entry point to the STM.Gravatar Emilio Jesus Gallego Arias2017-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mainly due to notations, proof modes and plugins, parsing in Coq is stateful, so we expose a state-aware parsing API in the STM. This is a first move to unify all the parsing entry points in the Stm and the toplevel, and allows STM clients to control their input stream properly. This greatly helps for instance, with whole-document parsing. This commit supersedes PR#204.
* | | Merge PR#422: Supporting all kinds of binders, including 'pat, in syntax of ↵Gravatar Maxime Dénès2017-04-12
|\ \ \ | |/ / |/| | | | | record fields.
* | | Adding a documentation for the new proof engine.Gravatar Pierre-Marie Pédrot2017-04-06
| | |
* | | Documenting main changes of API.Gravatar Hugo Herbelin2017-03-24
| | |
| * | Improving the API of constrexpr_ops.mli.Gravatar Hugo Herbelin2017-03-23
|/ / | | | | | | | | | | | | | | | | | | | | | | Deprecating abstract_constr_expr in favor of mkCLambdaN, prod_constr_expr in favor of mkCProdN. Note: They did not do exactly the same, the first ones were interpreting "(x y z:_)" as "(x:_) (y:_) (z:_)" while the second ones were preserving the original sharing of the type, what I think is the correct thing to do. So, there is also a "fix" of semantic here.
* | Merge PR#493: [safe-string] update dev/doc/changesGravatar Maxime Dénès2017-03-22
|\ \
* | | [pp] Make feedback the only logging mechanism.Gravatar Emilio Jesus Gallego Arias2017-03-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously to this patch, Coq featured to distinct logging paths: the console legacy one, based on `Pp.std_ppcmds` and Ocaml's `Format` module, and the `Feedback` one, intended to encapsulate message inside a more general, GUI-based feedback protocol. This patch removes the legacy logging path and makes feedback canonical. Thus, the core of Coq has no dependency on console code anymore. Additionally, this patch resolves the duplication of "document" formats present in the same situation. The original console-based printing code relied on an opaque datatype `std_ppcmds`, (mostly a reification of `Format`'s format strings) that could be then rendered to the console. However, the feedback path couldn't reuse this type due to its opaque nature. The first versions just embedded rending of `std_ppcmds` to a string, however in 8.5 a new "rich printing" type, `Richpp.richpp` was introduced. The idea for this type was to be serializable, however it brought several problems: it didn't have proper document manipulation operations, its format was overly verbose and didn't preserve the full layout, and it still relied on `Format` for generation, making client-side rendering difficult. We thus follow the plan outlined in CEP#9, that is to say, we take a public and refactored version of `std_ppcmds` as the canonical "document type", and move feedback to be over there. The toplevel now is implemented as a feedback listener and has ownership of the console. `richpp` is now IDE-specific, and only used for legacy rendering. It could go away in future versions. `std_ppcmds` carries strictly more information and is friendlier to client-side rendering and display control. Thus, the new panorama is: - `Feedback` has become a very module for event dispatching. - `Pp` contains a target-independent box-based document format. It also contains the `Format`-based renderer. - All console access lives in `toplevel`, with console handlers private to coqtop. _NOTE_: After this patch, many printing parameters such as printing width or depth should be set client-side. This works better IMO, clients don't need to notify Coq about resizing anywmore. Indeed, for box-based capable backends such as HTML or LaTeX, the UI can directly render and let the engine perform the word breaking work. _NOTE_: Many messages could benefit from new features of the output format, however we have chosen not to alter them to preserve output. A Future commits will move console tag handling in `Pp_style` to `toplevel/`, where it logically belongs. The only change with regards to printing is that the "Error:" header was added to console output in several different positions, we have removed some of this duplication, now error messages should be a bit more consistent.
| * | [safe-string] update dev/doc/changesGravatar Emilio Jesus Gallego Arias2017-03-21
|/ /
* | Merge PR#267: Proposal for an update of the recommended style in programming ↵Gravatar Maxime Dénès2017-03-15
|\ \ | | | | | | | | | Coq.
* \ \ Merge PR#432: [cleanup] Change Id.t option to Name.t in TacFunGravatar Maxime Dénès2017-03-14
|\ \ \
* | | | Documenting the pluginification of Ltac.Gravatar Pierre-Marie Pédrot2017-02-17
| | | |
| * | | [cleanup] Change Id.t option to Name.t in TacFunGravatar Tej Chajed2017-02-16
|/ / /
* | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-12-07
|\ \ \ | | |/ | |/|
| * | Merge remote-tracking branch 'github/pr/372' into v8.6Gravatar Maxime Dénès2016-12-02
| |\ \ | | | | | | | | | | | | Was PR#372: Update dev/doc/changes.txt with HintsResolveEntry changes
| * \ \ Merge remote-tracking branch 'github/pr/368' into v8.6Gravatar Maxime Dénès2016-12-02
| |\ \ \ | | | | | | | | | | | | | | | Was PR#368: Add example in dev/doc/changes involving Tacmach.project
| * \ \ \ Merge remote-tracking branch 'github/pr/369' into v8.6Gravatar Maxime Dénès2016-12-02
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Was PR#369: Make a note about wit_constr and Constrarg in dev/doc/changes
| * \ \ \ \ Merge remote-tracking branch 'github/pr/371' into v8.6Gravatar Maxime Dénès2016-12-02
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Was PR#371: Update dev/doc/changes with things about mem_named_context
* | | | | | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-11-30
|\| | | | | |
| * | | | | | Fix some documentation typos.Gravatar Guillaume Melquiond2016-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: "dependant" does exist, but it is a noun and it means a person that is somehow financially dependent on someone else.
| | | | | * | (v8.6) Update dev/doc/changes.txt with HintsResolveEntry changesGravatar Jason Gross2016-11-21
| | |_|_|/ / | |/| | | |
| | * | | | (v8.6) Update dev/doc/changes with things about mem_named_contextGravatar Jason Gross2016-11-21
| |/ / / /
| | * / / (v8.6) Make a note about wit_constr and Constrarg in dev/doc/changesGravatar Jason Gross2016-11-21
| |/ / /
| | * / (v8.6) Add example in dev/doc/changes involving Tacmach.projectGravatar Jason Gross2016-11-21
| |/ /
* | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-11-18
|\| |
| * | [doc] Mention XML protocol on changes.Gravatar Emilio Jesus Gallego Arias2016-11-16
| | | | | | | | | | | | It may be worth it, also added a note about file reorganization.
* | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-10-24
|\| |
| * | [search] Don't build intermediate lists in search.Gravatar Emilio Jesus Gallego Arias2016-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts the `search_*` functions to use an iter-style API. Consequently, the Search Vernac will produce a message for each search result, greatly improving roundtrip time as IDEs can effectively display the results in a streaming way. It also allows different printers to be used. I didn't observe a performance difference (as things seem to be dominated by printing and `Declaremods`). As a minor tweak, we make search with "Output Name Only" more efficient. Motivation: ----------- Currently, the main search API `Search.generic_search` is an effectful, iteration-based function: ```ocaml val generic_search : int option -> display_function -> unit ``` This type is imposed by `Declaremods`, which exposes an effectful, iteration-based API to traverse Coq library objects. The `Search.search_*` functions try to offer a more functional API by returning a list of pretty printing commands. They need to build an internal intermediate list for that purpose. However, this is a waste of time, as the destination of these lists is to be flushed out by the printer right away.
* | | COMMENTS: dev/doc/changes.txtGravatar Matej Kosik2016-10-20
| | |
* | | CLEANUP: rename "Nameops.lift_subscript" to "Nameops.increment_subscript".Gravatar Matej Kosik2016-10-19
| | | | | | | | | | | | | | | | | | | | | The word "increment" is more appropriate in this case than "lifting". The world "lifting", in computer science, usually denotes something else: https://en.wikipedia.org/wiki/Lambda_lifting
* | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2016-10-18
|\| |
| * | More on making the lexer more functional (continuing b8ae2de5 andGravatar Hugo Herbelin2016-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8a8caba3). - Adding cLexer.current_file to the lexer state, i.e. making it a component of the type "coq_parsable" of lexer state (it was forgotten in b8ae2de5 and 8a8caba3). - Inlining save_translator/restore_translator which have now lost most of their substance.
* | | Merging Stdarg and Constrarg.Gravatar Pierre-Marie Pédrot2016-09-21
| | | | | | | | | | | | | | | | | | There was no reason to keep them separate since quite a long time. Historically, they were making Genarg depend or not on upper strata of the code, but since it was moved to lib/ this is not justified anymore.
* | | Documenting API changes.Gravatar Pierre-Marie Pédrot2016-09-15
| | |
| | * A proposal for recommended uniformity of style in programming Coq.Gravatar Hugo Herbelin2016-09-09
| |/ | | | | | | Starting listing some recommendations in using the API.
* | Merge PR #244.Gravatar Pierre-Marie Pédrot2016-09-08
|\ \
* | | CLEANUP: removing "Termops.compact_named_context_reverse" functionGravatar Matej Kosik2016-08-26
| | |
* | | CLEANUP: renaming "Printer.pr_var_decl" function to "Printer.pr_named_decl"Gravatar Matej Kosik2016-08-26
| | |
* | | CLEANUP: renaming "Context.ListNamed" module to "Context.Compacted"Gravatar Matej Kosik2016-08-26
| | |
* | | CLEANUP: Type alias "Context.section_context" was removedGravatar Matej Kosik2016-08-25
| | |
* | | CLEANUP: functions "Context.{Rel,Named}.Context.fold" were renamed to ↵Gravatar Matej Kosik2016-08-25
| | | | | | | | | | | | "Context.{Rel,Named}.fold_constr"
| * | Make the user_err header an optional parameter.Gravatar Emilio Jesus Gallego Arias2016-08-19
| | | | | | | | | | | | Suggested by @ppedrot