aboutsummaryrefslogtreecommitdiff
path: root/interp/constrextern.mli
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-09-17 00:03:46 +0200
committerMatthieu Sozeau2014-09-17 00:10:03 +0200
commitc5ecebf6fefbaa673dda506175a2aa4a69d79807 (patch)
treee364fd928f247c249767ffb679b0265857327a6a /interp/constrextern.mli
parent4dc8746cac24ba72a1ec4dfa764a1ae88ce79277 (diff)
Revert specific syntax for primitive projections, avoiding ugly
contortions in internalization/externalization. It uses a fully typed version of detyping, requiring the environment, to move from primitive projection applications to regular applications of the eta-expanded version. The kernel is unchanged, and only constrMatching needs compatibility code now.
Diffstat (limited to 'interp/constrextern.mli')
-rw-r--r--interp/constrextern.mli7
1 files changed, 5 insertions, 2 deletions
diff --git a/interp/constrextern.mli b/interp/constrextern.mli
index a994d86931..023c5be229 100644
--- a/interp/constrextern.mli
+++ b/interp/constrextern.mli
@@ -30,9 +30,12 @@ val extern_constr_pattern : names_context -> Evd.evar_map ->
constr_pattern -> constr_expr
(** If [b=true] in [extern_constr b env c] then the variables in the first
- level of quantification clashing with the variables in [env] are renamed *)
+ level of quantification clashing with the variables in [env] are renamed.
+ ~lax is for debug printing, when the constr might not be well typed in
+ env, sigma
+*)
-val extern_constr : bool -> env -> Evd.evar_map -> constr -> constr_expr
+val extern_constr : ?lax:bool -> bool -> env -> Evd.evar_map -> constr -> constr_expr
val extern_constr_in_scope : bool -> scope_name -> env -> Evd.evar_map -> constr -> constr_expr
val extern_reference : Loc.t -> Id.Set.t -> global_reference -> reference
val extern_type : bool -> env -> Evd.evar_map -> types -> constr_expr