diff options
author | Emilio Jesus Gallego Arias <e+git@x80.org> | 2018-05-20 18:59:00 +0200 |
---|---|---|
committer | Emilio Jesus Gallego Arias <e+git@x80.org> | 2018-05-27 15:18:52 +0200 |
commit | 7c62654a4a1c0711ebdd492193bb8b7bd0e4f1fb (patch) | |
tree | 17940abdf158e6fd4ec435ba401678ed5f86d4ab /dev/doc | |
parent | b34acd7904dac581b57f7282192a40f1afb870dc (diff) |
[api] Make `vernac/` self-contained.
We make the vernacular implementation self-contained in the `vernac/`
directory. To this extent we relocate the parser, printer, and AST to
the `vernac/` directory, and move a couple of hint-related types to
`Hints`, where they do indeed belong.
IMO this makes the code easier to understand, and provides a better
modularity of the codebase as now all things under `tactics` have 0
knowledge about vernaculars.
The vernacular extension machinery has also been moved to `vernac/`,
this will help when #6171 [proof state cleanup] is completed along
with a stronger typing for vernacular interpretation that can
distinguish different types of effects vernacular commands can perform.
This PR introduces some very minor source-level incompatibilities due
to a different module layering [thus deprecating is not
possible]. Impact should be relatively minor.
Diffstat (limited to 'dev/doc')
-rw-r--r-- | dev/doc/changes.md | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/dev/doc/changes.md b/dev/doc/changes.md index cd28b1b50..346b7c7dd 100644 --- a/dev/doc/changes.md +++ b/dev/doc/changes.md @@ -4,7 +4,7 @@ Misctypes - Syntax for universe sorts and kinds has been moved from `Misctypes` +- Syntax for universe sorts and kinds has been moved from `Misctypes` to `Glob_term`, as these are turned into kernel terms by `Pretyping`. @@ -41,6 +41,16 @@ Printer.ml API pr_subgoal and pr_goal was removed to simplify the code. It was earlierly used by PCoq. +Vernacular commands + +- The implementation of vernacular commands has been refactored so it + is self-contained now, including the parsing and extension + mechanisms. This involves a couple of non-backward compatible + changes due to layering issues, where some functions have been moved + from `Pcoq` to `Pvernac` and from `Vernacexpr` to modules in + `tactics/`. In all cases adapting is a matter of changing the module + name. + ### Unit testing The test suite now allows writing unit tests against OCaml code in the Coq |