aboutsummaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
authorherbelin1999-12-01 23:13:01 +0000
committerherbelin1999-12-01 23:13:01 +0000
commitf99150300603ce0d87db716efc52fa88967d4460 (patch)
tree4a85be13031030ac01659359b032411bfd63a73b /library
parent3a49dbf016e1ebf8f8d12ed43fde14c5619ca55e (diff)
Intégration du Termast et du Retyping de HH, et modifications connexes
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@185 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r--library/impargs.ml13
-rw-r--r--library/impargs.mli11
2 files changed, 14 insertions, 10 deletions
diff --git a/library/impargs.ml b/library/impargs.ml
index cd9a5ef4e1..baa9933121 100644
--- a/library/impargs.ml
+++ b/library/impargs.ml
@@ -82,13 +82,14 @@ let constructor_implicits ((sp,i),j) =
let imps = Spmap.find sp !inductives_table in
(snd imps.(i)).(pred j)
-let mconstr_implicits mc =
- let (sp, i, j, _) = destMutConstruct mc in
- list_of_implicits (constructor_implicits ((sp,i),j))
+let constructor_implicits_list constr_sp =
+ list_of_implicits (constructor_implicits constr_sp)
-let mind_implicits m =
- let (sp,i,_) = destMutInd m in
- list_of_implicits (inductive_implicits (sp,i))
+let inductive_implicits_list ind_sp =
+ list_of_implicits (inductive_implicits ind_sp)
+
+let constant_implicits_list sp =
+ list_of_implicits (constant_implicits sp)
let implicits_of_var kind id =
failwith "TODO: implicits of vars"
diff --git a/library/impargs.mli b/library/impargs.mli
index 8a598ef7e8..8659b4b408 100644
--- a/library/impargs.mli
+++ b/library/impargs.mli
@@ -4,6 +4,7 @@
(*i*)
open Names
open Term
+open Inductive
(*i*)
(* Implicit arguments. Here we store the implicit arguments. Notice that we
@@ -25,10 +26,12 @@ val declare_constant_manual_implicits : section_path -> int list -> unit
val constant_implicits : section_path -> implicits
val declare_inductive_implicits : section_path -> unit
-val inductive_implicits : section_path * int -> implicits
-val constructor_implicits : (section_path * int) * int -> implicits
+val inductive_implicits : inductive_path -> implicits
+val constructor_implicits : constructor_path -> implicits
+
+val constructor_implicits_list : constructor_path -> int list
+val inductive_implicits_list : inductive_path -> int list
+val constant_implicits_list : section_path -> int list
-val mconstr_implicits : constr -> int list
-val mind_implicits : constr -> int list
val implicits_of_var : Names.path_kind -> identifier -> int list