aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2013-09-06 21:50:35 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2013-11-27 18:43:35 +0100
commit144f2ac7c7394a701808daa503a0b6ded5663fcc (patch)
treec193b3e8ba6d2650213e8c0cc4f0c52f14eedba3 /plugins
parent2923b9262e3859f2ad0169778d63d79843d7ddf7 (diff)
Adding generic solvers to term holes. For now, no resolution mechanism nor
parsing is plugged.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/decl_mode/decl_interp.ml12
-rw-r--r--plugins/decl_mode/decl_proof_instr.ml2
-rw-r--r--plugins/firstorder/instances.ml2
-rw-r--r--plugins/funind/glob_termops.ml2
-rw-r--r--plugins/syntax/numbers_syntax.ml4
5 files changed, 11 insertions, 11 deletions
diff --git a/plugins/decl_mode/decl_interp.ml b/plugins/decl_mode/decl_interp.ml
index bbac10f0f..a722daca5 100644
--- a/plugins/decl_mode/decl_interp.ml
+++ b/plugins/decl_mode/decl_interp.ml
@@ -187,7 +187,7 @@ let interp_constr_or_thesis check_sort sigma env = function
let abstract_one_hyp inject h glob =
match h with
Hvar (loc,(id,None)) ->
- GProd (Loc.ghost,Name id, Explicit, GHole (loc,Evar_kinds.BinderType (Name id)), glob)
+ GProd (Loc.ghost,Name id, Explicit, GHole (loc,Evar_kinds.BinderType (Name id), None), glob)
| Hvar (loc,(id,Some typ)) ->
GProd (Loc.ghost,Name id, Explicit, fst typ, glob)
| Hprop st ->
@@ -245,7 +245,7 @@ let rec glob_of_pat =
let rec add_params n q =
if n<=0 then q else
add_params (pred n) (GHole(Loc.ghost,
- Evar_kinds.TomatchTypeParameter(ind,n))::q) in
+ Evar_kinds.TomatchTypeParameter(ind,n), None)::q) in
let args = List.map glob_of_pat lpat in
glob_app(loc,GRef(Loc.ghost,Globnames.ConstructRef cstr),
add_params mind.Declarations.mind_nparams args)
@@ -254,14 +254,14 @@ let prod_one_hyp = function
(loc,(id,None)) ->
(fun glob ->
GProd (Loc.ghost,Name id, Explicit,
- GHole (loc,Evar_kinds.BinderType (Name id)), glob))
+ GHole (loc,Evar_kinds.BinderType (Name id), None), glob))
| (loc,(id,Some typ)) ->
(fun glob ->
GProd (Loc.ghost,Name id, Explicit, fst typ, glob))
let prod_one_id (loc,id) glob =
GProd (Loc.ghost,Name id, Explicit,
- GHole (loc,Evar_kinds.BinderType (Name id)), glob)
+ GHole (loc,Evar_kinds.BinderType (Name id), None), glob)
let let_in_one_alias (id,pat) glob =
GLetIn (Loc.ghost,Name id, glob_of_pat pat, glob)
@@ -342,7 +342,7 @@ let interp_cases info sigma env params (pat:cases_pattern_expr) hyps =
GVar (loc,id)) params in
let dum_args=
List.init oib.Declarations.mind_nrealargs
- (fun _ -> GHole (Loc.ghost,Evar_kinds.QuestionMark (Evar_kinds.Define false))) in
+ (fun _ -> GHole (Loc.ghost,Evar_kinds.QuestionMark (Evar_kinds.Define false),None)) in
glob_app(Loc.ghost,rind,rparams@rparams_rec@dum_args) in
let pat_vars,aliases,patt = interp_pattern env pat in
let inject = function
@@ -417,7 +417,7 @@ let abstract_one_arg = function
(loc,(id,None)) ->
(fun glob ->
GLambda (Loc.ghost,Name id, Explicit,
- GHole (loc,Evar_kinds.BinderType (Name id)), glob))
+ GHole (loc,Evar_kinds.BinderType (Name id),None), glob))
| (loc,(id,Some typ)) ->
(fun glob ->
GLambda (Loc.ghost,Name id, Explicit, fst typ, glob))
diff --git a/plugins/decl_mode/decl_proof_instr.ml b/plugins/decl_mode/decl_proof_instr.ml
index db53dc932..b21037d25 100644
--- a/plugins/decl_mode/decl_proof_instr.ml
+++ b/plugins/decl_mode/decl_proof_instr.ml
@@ -1276,7 +1276,7 @@ let understand_my_constr c gls =
let nc = names_of_rel_context env in
let rawc = Detyping.detype false [] nc c in
let rec frob = function
- | GEvar _ -> GHole (Loc.ghost,Evar_kinds.QuestionMark Evar_kinds.Expand)
+ | GEvar _ -> GHole (Loc.ghost,Evar_kinds.QuestionMark Evar_kinds.Expand,None)
| rc -> map_glob_constr frob rc
in
Pretyping.understand_tcc (sig_sig gls) env ~expected_type:(Pretyping.OfType (pf_concl gls)) (frob rawc)
diff --git a/plugins/firstorder/instances.ml b/plugins/firstorder/instances.ml
index d34edb863..e856326c8 100644
--- a/plugins/firstorder/instances.ml
+++ b/plugins/firstorder/instances.ml
@@ -125,7 +125,7 @@ let mk_open_instance id gl m t=
match t with
GLambda(loc,name,k,_,t0)->
let t1=raux (n-1) t0 in
- GLambda(loc,name,k,GHole (Loc.ghost,Evar_kinds.BinderType name),t1)
+ GLambda(loc,name,k,GHole (Loc.ghost,Evar_kinds.BinderType name,None),t1)
| _-> anomaly (Pp.str "can't happen") in
let ntt=try
Pretyping.understand evmap env (raux m rawt)
diff --git a/plugins/funind/glob_termops.ml b/plugins/funind/glob_termops.ml
index 79cba2c7c..6a7f326e6 100644
--- a/plugins/funind/glob_termops.ml
+++ b/plugins/funind/glob_termops.ml
@@ -18,7 +18,7 @@ let mkGProd(n,t,b) = GProd(Loc.ghost,n,Explicit,t,b)
let mkGLetIn(n,t,b) = GLetIn(Loc.ghost,n,t,b)
let mkGCases(rto,l,brl) = GCases(Loc.ghost,Term.RegularStyle,rto,l,brl)
let mkGSort s = GSort(Loc.ghost,s)
-let mkGHole () = GHole(Loc.ghost,Evar_kinds.BinderType Anonymous)
+let mkGHole () = GHole(Loc.ghost,Evar_kinds.BinderType Anonymous,None)
let mkGCast(b,t) = GCast(Loc.ghost,b,CastConv t)
(*
diff --git a/plugins/syntax/numbers_syntax.ml b/plugins/syntax/numbers_syntax.ml
index 1cce6cd70..b8c2b33fd 100644
--- a/plugins/syntax/numbers_syntax.ml
+++ b/plugins/syntax/numbers_syntax.ml
@@ -165,10 +165,10 @@ let word_of_pos_bigint dloc hght n =
if hgt <= 0 then
int31_of_pos_bigint dloc n
else if equal n zero then
- GApp (dloc, ref_W0, [GHole (dloc, Evar_kinds.InternalHole)])
+ GApp (dloc, ref_W0, [GHole (dloc, Evar_kinds.InternalHole, None)])
else
let (h,l) = split_at hgt n in
- GApp (dloc, ref_WW, [GHole (dloc, Evar_kinds.InternalHole);
+ GApp (dloc, ref_WW, [GHole (dloc, Evar_kinds.InternalHole, None);
decomp (hgt-1) h;
decomp (hgt-1) l])
in