aboutsummaryrefslogtreecommitdiff
path: root/vernac/comFixpoint.mli
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-07-02 18:17:24 +0200
committerEmilio Jesus Gallego Arias2020-11-26 21:21:54 +0100
commit14150241cfd016c7f64974cc5c58bb116689f3c1 (patch)
treeebb9358b5b82cf62a5649f77cc8d7d68e27a4a48 /vernac/comFixpoint.mli
parent5a9e90e426ba2e25cbcb76af2bb67717984e2b6b (diff)
[vernac] Allow to control typing flags with attributes.
The syntax is the one of boolean attributes, that is to say `#[typing($flag={yes,no}]` where `$flag` is one of `guarded`, `universes`, `positive`. We had to instrument the pretyper in a few places, it is interesting that it is doing so many checks.
Diffstat (limited to 'vernac/comFixpoint.mli')
-rw-r--r--vernac/comFixpoint.mli23
1 files changed, 17 insertions, 6 deletions
diff --git a/vernac/comFixpoint.mli b/vernac/comFixpoint.mli
index a36aba7672..faa5fce375 100644
--- a/vernac/comFixpoint.mli
+++ b/vernac/comFixpoint.mli
@@ -15,11 +15,20 @@ open Vernacexpr
(** Entry points for the vernacular commands Fixpoint and CoFixpoint *)
-val do_fixpoint_interactive :
- scope:Locality.locality -> poly:bool -> fixpoint_expr list -> Declare.Proof.t
+val do_fixpoint_interactive
+ : scope:Locality.locality
+ -> poly:bool
+ -> ?typing_flags:Declarations.typing_flags
+ -> fixpoint_expr list
+ -> Declare.Proof.t
-val do_fixpoint :
- scope:Locality.locality -> poly:bool -> ?using:Vernacexpr.section_subset_expr -> fixpoint_expr list -> unit
+val do_fixpoint
+ : scope:Locality.locality
+ -> poly:bool
+ -> ?typing_flags:Declarations.typing_flags
+ -> ?using:Vernacexpr.section_subset_expr
+ -> fixpoint_expr list
+ -> unit
val do_cofixpoint_interactive :
scope:Locality.locality -> poly:bool -> cofixpoint_expr list -> Declare.Proof.t
@@ -44,6 +53,7 @@ type ('constr, 'types) recursive_preentry = Id.t list * Sorts.relevance list * '
(** Exported for Program *)
val interp_recursive :
+ Environ.env ->
(* Misc arguments *)
program_mode:bool -> cofix:bool ->
(* Notations of the fixpoint / should that be folded in the previous argument? *)
@@ -58,8 +68,9 @@ val interp_recursive :
(** Exported for Funind *)
val interp_fixpoint
- : ?check_recursivity:bool ->
- cofix:bool
+ : ?check_recursivity:bool
+ -> ?typing_flags:Declarations.typing_flags
+ -> cofix:bool
-> lident option fix_expr_gen list
-> (Constr.t, Constr.types) recursive_preentry *
UState.universe_decl * UState.t *