diff options
| author | Emilio Jesus Gallego Arias | 2020-05-29 17:56:48 +0200 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2020-06-26 14:38:11 +0200 |
| commit | 9c58cd6cb7475ceb5c0ce5263d17a0b9ca08f286 (patch) | |
| tree | d0ce34932bcf45eb4ea5ba96e1be873c463e5414 | |
| parent | 6291e5b13e74ef3cd0b2354266352470f88cc70e (diff) | |
[declare] Documentation on obligations
| -rw-r--r-- | vernac/declare.mli | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/vernac/declare.mli b/vernac/declare.mli index e0af3a7344..894deca357 100644 --- a/vernac/declare.mli +++ b/vernac/declare.mli @@ -12,22 +12,22 @@ open Names open Constr open Entries -(** This module provides the official functions to declare new +(** This module provides the functions to declare new variables, parameters, constants and inductive types in the global environment. It also updates some accesory tables such as [Nametab] (name resolution), [Impargs], and [Notations]. *) -(** We provide two kind of functions: +(** We provide three main entry points: - one-go functions, that will register a constant in one go, suited for non-interactive definitions where the term is given. - - two-phase [start/declare] functions which will create an - interactive proof, allow its modification, and saving when - complete. + - two-phase [start/save] functions which will create an + interactive proof, allow its modification using tactics, and saving + when complete. - Internally, these functions mainly differ in that usually, the first - case doesn't require setting up the tactic engine. + - program mode API, that allow to declare a constant with holes, to + be fullfilled later. Note that the API in this file is still in a state of flux, don't hesitate to contact the maintainers if you have any question. @@ -38,14 +38,16 @@ open Entries *) -(** Declaration hooks, to be run when a constant is saved. Use with care. *) +(** Declaration hooks, to be run when a constant is saved. Use with + care, as imperative effects may become not supported in the + future. *) module Hook : sig type t (** Hooks allow users of the API to perform arbitrary actions at proof/definition saving time. For example, to register a constant as a Coercion, perform some cleanup, update the search database, - etc... *) + etc... *) module S : sig type t = { uctx : UState.t |
