aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/evarutil.mli
diff options
context:
space:
mode:
authorGravatar barras <barras@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-09-07 19:28:25 +0000
committerGravatar barras <barras@85f007b7-540e-0410-9357-904b9bb8a0f7>2004-09-07 19:28:25 +0000
commitd331f7f1ac0ec2ed12d458597d558a1988db1ba6 (patch)
tree0e5addad213aeb1d647a0411285754e8a9cb23f6 /pretyping/evarutil.mli
parent11104cdcb1e53cd83768d2ce9858829b457e2d65 (diff)
deuxieme vague de modifs: evar_defs fonctionnel
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6071 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/evarutil.mli')
-rw-r--r--pretyping/evarutil.mli22
1 files changed, 13 insertions, 9 deletions
diff --git a/pretyping/evarutil.mli b/pretyping/evarutil.mli
index a08fb3f82..4223b0e78 100644
--- a/pretyping/evarutil.mli
+++ b/pretyping/evarutil.mli
@@ -52,14 +52,13 @@ val evars_of : evar_defs -> evar_map
val non_instantiated : evar_map -> (evar * evar_info) list
val create_evar_defs : evar_map -> evar_defs
-val evars_reset_evd : evar_map -> evar_defs -> unit
+val evars_reset_evd : evar_map -> evar_defs -> evar_defs
val evar_source : existential_key -> evar_defs -> loc * hole_kind
type evar_constraint = conv_pb * constr * constr
-val add_conv_pb : evar_defs -> evar_constraint -> unit
+val add_conv_pb : evar_constraint -> evar_defs -> evar_defs
val is_defined_evar : evar_defs -> existential -> bool
-val ise_try : evar_defs -> (unit -> bool) list -> bool
val ise_undefined : evar_defs -> constr -> bool
val has_undefined_isevars : evar_defs -> constr -> bool
@@ -67,16 +66,21 @@ val new_isevar_sign :
Environ.env -> Evd.evar_map -> Term.constr -> Term.constr list ->
Evd.evar_map * Term.constr
-val new_isevar : evar_defs -> env -> loc * hole_kind -> constr -> constr
+val new_isevar : evar_defs -> env -> loc * hole_kind -> constr ->
+ evar_defs * constr
+
+(* the same with side-effects *)
+val e_new_isevar : evar_defs ref -> env -> loc * hole_kind -> constr -> constr
val is_eliminator : constr -> bool
val head_is_embedded_evar : evar_defs -> constr -> bool
val solve_simple_eqn :
- (env -> evar_defs -> conv_pb -> constr -> constr -> bool)
- -> env -> evar_defs -> conv_pb * existential * constr -> bool
+ (env -> evar_defs -> conv_pb -> constr -> constr -> evar_defs * bool)
+ -> env -> evar_defs -> conv_pb * existential * constr ->
+ evar_defs * bool
-val define_evar_as_arrow : evar_defs -> existential -> types
-val define_evar_as_sort : evar_defs -> existential -> sorts
+val define_evar_as_arrow : evar_defs -> existential -> evar_defs * types
+val define_evar_as_sort : evar_defs -> existential -> evar_defs * sorts
(* Value/Type constraints *)
@@ -95,7 +99,7 @@ val mk_valcon : constr -> val_constraint
val split_tycon :
loc -> env -> evar_defs -> type_constraint ->
- name * type_constraint * type_constraint
+ evar_defs * (name * type_constraint * type_constraint)
val valcon_of_tycon : type_constraint -> val_constraint