diff options
| author | ppedrot | 2013-06-12 21:07:49 +0000 |
|---|---|---|
| committer | ppedrot | 2013-06-12 21:07:49 +0000 |
| commit | f3376db665463fa75631f001321a090165c44da1 (patch) | |
| tree | ce836fb16e81228c64a53cc527d4bfac1cdb59d4 /tactics | |
| parent | bea2a4f5fe5cab0abfc27492117c335a311a0c19 (diff) | |
Added Genarg as generic argument type.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16575 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
| -rw-r--r-- | tactics/tacintern.ml | 2 | ||||
| -rw-r--r-- | tactics/tacinterp.ml | 5 | ||||
| -rw-r--r-- | tactics/tacsubst.ml | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/tactics/tacintern.ml b/tactics/tacintern.ml index aa91db9b0e..883b9094f2 100644 --- a/tactics/tacintern.ml +++ b/tactics/tacintern.ml @@ -787,6 +787,8 @@ and intern_genarg ist x = in_gen (glbwit wit_var) (intern_hyp ist (out_gen (rawwit wit_var) x)) | RefArgType -> in_gen (glbwit wit_ref) (intern_global_reference ist (out_gen (rawwit wit_ref) x)) + | GenArgType -> + in_gen (glbwit wit_genarg) (intern_genarg ist (out_gen (rawwit wit_genarg) x)) | SortArgType -> in_gen (glbwit wit_sort) (out_gen (rawwit wit_sort) x) | ConstrArgType -> diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index 82354c815e..4847362d3a 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -1561,6 +1561,8 @@ and interp_genarg ist gl x = in_gen (topwit wit_var) (interp_hyp ist gl (out_gen (glbwit wit_var) x)) | RefArgType -> in_gen (topwit wit_ref) (pf_interp_reference ist gl (out_gen (glbwit wit_ref) x)) + | GenArgType -> + in_gen (topwit wit_genarg) (interp_genarg ist gl (out_gen (glbwit wit_genarg) x)) | SortArgType -> let (sigma,c_interp) = pf_interp_constr ist gl @@ -2057,7 +2059,7 @@ and interp_atomic ist gl tac = tac args ist | TacAlias (loc,s,l,(_,body)) -> fun gl -> let evdref = ref gl.sigma in - let f x = match genarg_tag x with + let rec f x = match genarg_tag x with | IntArgType -> of_tacvalue (VInteger (out_gen (glbwit wit_int) x)) | IntOrVarArgType -> @@ -2075,6 +2077,7 @@ and interp_atomic ist gl tac = | RefArgType -> of_tacvalue (VConstr ([],constr_of_global (pf_interp_reference ist gl (out_gen (glbwit wit_ref) x)))) + | GenArgType -> f (out_gen (glbwit wit_genarg) x) | SortArgType -> of_tacvalue (VConstr ([],mkSort (interp_sort (out_gen (glbwit wit_sort) x)))) | ConstrArgType -> diff --git a/tactics/tacsubst.ml b/tactics/tacsubst.ml index bb7caf93b4..3070cf01cc 100644 --- a/tactics/tacsubst.ml +++ b/tactics/tacsubst.ml @@ -313,6 +313,7 @@ and subst_genarg subst (x:glob_generic_argument) = | RefArgType -> in_gen (glbwit wit_ref) (subst_global_reference subst (out_gen (glbwit wit_ref) x)) + | GenArgType -> in_gen (glbwit wit_genarg) (subst_genarg subst (out_gen (glbwit wit_genarg) x)) | SortArgType -> in_gen (glbwit wit_sort) (out_gen (glbwit wit_sort) x) | ConstrArgType -> |
