aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/clenv.ml4
-rw-r--r--pretyping/clenv.mli4
-rw-r--r--pretyping/evd.ml4
-rw-r--r--pretyping/pattern.ml2
-rw-r--r--pretyping/typing.ml2
5 files changed, 9 insertions, 7 deletions
diff --git a/pretyping/clenv.ml b/pretyping/clenv.ml
index 242368ce99..e5632515d0 100644
--- a/pretyping/clenv.ml
+++ b/pretyping/clenv.ml
@@ -261,8 +261,8 @@ let clenv_unique_resolver allow_K ?(flags=default_unify_flags) clenv gl =
* pose a value for it by constructing a fresh evar. We do this in
* left-to-right order, so that every evar's type is always closed w.r.t.
* metas. *)
-let clenv_pose_dependent_evars clenv =
- let dep_mvs = clenv_dependent false clenv in
+
+let clenv_pose_metas_as_evars clenv dep_mvs =
List.fold_left
(fun clenv mv ->
let ty = clenv_meta_type clenv mv in
diff --git a/pretyping/clenv.mli b/pretyping/clenv.mli
index 4f27ec902f..dfa7513495 100644
--- a/pretyping/clenv.mli
+++ b/pretyping/clenv.mli
@@ -79,7 +79,9 @@ val clenv_unique_resolver :
val evar_clenv_unique_resolver :
bool -> ?flags:unify_flags -> clausenv -> evar_info sigma -> clausenv
-val clenv_pose_dependent_evars : clausenv -> clausenv
+val clenv_dependent : bool -> clausenv -> metavariable list
+
+val clenv_pose_metas_as_evars : clausenv -> metavariable list -> clausenv
(***************************************************************)
(* Bindings *)
diff --git a/pretyping/evd.ml b/pretyping/evd.ml
index 2703e5ae0c..91b70e3b02 100644
--- a/pretyping/evd.ml
+++ b/pretyping/evd.ml
@@ -674,5 +674,5 @@ let pr_evar_defs evd =
str"METAS:"++brk(0,1)++pr_meta_map evd.metas in
v 0 (pp_evm ++ cstrs ++ pp_met)
-let pr_metaset metas =
- Metaset.fold (fun mv pp -> pr_meta mv ++ pp) metas (Pp.mt())
+let pr_metaset metas =
+ str "[" ++ prlist_with_sep spc pr_meta (Metaset.elements metas) ++ str "]"
diff --git a/pretyping/pattern.ml b/pretyping/pattern.ml
index 90a3728ebb..05af1652e1 100644
--- a/pretyping/pattern.ml
+++ b/pretyping/pattern.ml
@@ -92,7 +92,7 @@ let head_of_constr_reference c = match kind_of_term c with
let rec pattern_of_constr t =
match kind_of_term t with
| Rel n -> PRel n
- | Meta n -> PMeta (Some (id_of_string (string_of_int n)))
+ | Meta n -> PMeta (Some (id_of_string ("META" ^ string_of_int n)))
| Var id -> PVar id
| Sort (Prop c) -> PSort (RProp c)
| Sort (Type _) -> PSort (RType None)
diff --git a/pretyping/typing.ml b/pretyping/typing.ml
index 32df490db8..ece3586a19 100644
--- a/pretyping/typing.ml
+++ b/pretyping/typing.ml
@@ -23,7 +23,7 @@ open Evd
let meta_type evd mv =
let ty =
try Evd.meta_ftype evd mv
- with Not_found -> error ("unknown meta ?"^string_of_int mv) in
+ with Not_found -> anomaly ("unknown meta ?"^Nameops.string_of_meta mv) in
meta_instance evd ty
let constant_type_knowing_parameters env cst jl =