aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/nativelambda.mli
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/nativelambda.mli')
-rw-r--r--kernel/nativelambda.mli13
1 files changed, 11 insertions, 2 deletions
diff --git a/kernel/nativelambda.mli b/kernel/nativelambda.mli
index 997efd969..860283e06 100644
--- a/kernel/nativelambda.mli
+++ b/kernel/nativelambda.mli
@@ -18,6 +18,8 @@ open Nativevalues
type lambda =
| Lrel of name * int
| Lvar of identifier
+ | Lmeta of metavariable * lambda (* type *)
+ | Levar of existential * lambda (* type *)
| Lprod of lambda * lambda
| Llam of name array * lambda
| Llet of name * lambda * lambda
@@ -40,9 +42,16 @@ type lambda =
| Lforce
and lam_branches = (constructor * name array * lambda) array
-
+
and fix_decl = name array * lambda array * lambda array
+type evars =
+ { evars_val : existential -> constr option;
+ evars_typ : existential -> types;
+ evars_metas : metavariable -> types }
+
+val empty_evars : evars
+
val decompose_Llam : lambda -> Names.name array * lambda
val decompose_Llam_Llet : lambda -> (Names.name * lambda option) array * lambda
@@ -51,4 +60,4 @@ val mk_lazy : lambda -> lambda
val get_allias : env -> constant -> constant
-val lambda_of_constr : env -> types -> lambda
+val lambda_of_constr : env -> evars -> Constr.constr -> lambda