diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2012-05-29 11:08:37 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2012-05-29 11:08:37 +0000 |
commit | 5fa47f1258408541150e2e4c26d60ff694e7c1bc (patch) | |
tree | 9e7aee1ea714cebdccc50dbd85735948d8baeaf0 /library | |
parent | 45038a0bfd5621153ba0dd4b6e06755fd15da1e3 (diff) |
locus.mli for occurrences+clauses, misctypes.mli for various little things
Corresponding operations in locusops.ml and miscops.ml
The type of occurrences is now a clear algebraic one instead of
a bool*list hard to understand.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15372 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r-- | library/declare.ml | 4 | ||||
-rw-r--r-- | library/impargs.ml | 5 | ||||
-rw-r--r-- | library/lib.ml | 6 | ||||
-rw-r--r-- | library/lib.mli | 7 |
4 files changed, 12 insertions, 10 deletions
diff --git a/library/declare.ml b/library/declare.ml index f3df8347e..10e8f3a5d 100644 --- a/library/declare.ml +++ b/library/declare.ml @@ -65,11 +65,11 @@ let cache_variable ((sp,_),o) = let impl,opaq,cst = match d with (* Fails if not well-typed *) | SectionLocalAssum (ty, impl) -> let cst = Global.push_named_assum (id,ty) in - let impl = if impl then Lib.Implicit else Lib.Explicit in + let impl = if impl then Implicit else Explicit in impl, true, cst | SectionLocalDef (c,t,opaq) -> let cst = Global.push_named_def (id,c,t) in - Lib.Explicit, opaq, cst in + Explicit, opaq, cst in Nametab.push (Nametab.Until 1) (restrict_path 0 sp) (VarRef id); add_section_variable id impl; Dischargedhypsmap.set_discharged_hyps sp []; diff --git a/library/impargs.ml b/library/impargs.ml index 6b01c5fb1..d7d0d4879 100644 --- a/library/impargs.ml +++ b/library/impargs.ml @@ -22,6 +22,7 @@ open Pp open Topconstr open Termops open Namegen +open Decl_kinds (*s Flags governing the computation of implicit arguments *) @@ -485,7 +486,9 @@ let subst_implicits (subst,(req,l)) = (ImplLocal,list_smartmap (subst_implicits_decl subst) l) let impls_of_context ctx = - List.rev_map (fun (id,impl,_,_) -> if impl = Lib.Implicit then Some (id, Manual, (true,true)) else None) + List.rev_map + (fun (id,impl,_,_) -> + if impl = Implicit then Some (id, Manual, (true,true)) else None) (List.filter (fun (_,_,b,_) -> b = None) ctx) let section_segment_of_reference = function diff --git a/library/lib.ml b/library/lib.ml index 40a427e49..ff7e9b841 100644 --- a/library/lib.ml +++ b/library/lib.ml @@ -395,14 +395,14 @@ let find_opening_node id = - the list of variables on which each inductive depends in this section - the list of substitution to do at section closing *) -type binding_kind = Explicit | Implicit -type variable_info = Names.identifier * binding_kind * Term.constr option * Term.types +type variable_info = Names.identifier * Decl_kinds.binding_kind * Term.constr option * Term.types type variable_context = variable_info list type abstr_list = variable_context Names.Cmap.t * variable_context Names.Mindmap.t let sectab = - ref ([] : ((Names.identifier * binding_kind) list * Cooking.work_list * abstr_list) list) + ref ([] : ((Names.identifier * Decl_kinds.binding_kind) list * + Cooking.work_list * abstr_list) list) let add_section () = sectab := ([],(Names.Cmap.empty,Names.Mindmap.empty),(Names.Cmap.empty,Names.Mindmap.empty)) :: !sectab diff --git a/library/lib.mli b/library/lib.mli index 781ecfe32..360eada85 100644 --- a/library/lib.mli +++ b/library/lib.mli @@ -176,10 +176,9 @@ val init : unit -> unit val set_xml_open_section : (Names.identifier -> unit) -> unit val set_xml_close_section : (Names.identifier -> unit) -> unit -type binding_kind = Explicit | Implicit - (** {6 Section management for discharge } *) -type variable_info = Names.identifier * binding_kind * Term.constr option * Term.types +type variable_info = Names.identifier * Decl_kinds.binding_kind * + Term.constr option * Term.types type variable_context = variable_info list val instance_from_variable_context : variable_context -> Names.identifier array @@ -191,7 +190,7 @@ val section_segment_of_mutual_inductive: Names.mutual_inductive -> variable_cont val section_instance : Libnames.global_reference -> Names.identifier array val is_in_section : Libnames.global_reference -> bool -val add_section_variable : Names.identifier -> binding_kind -> unit +val add_section_variable : Names.identifier -> Decl_kinds.binding_kind -> unit val add_section_constant : Names.constant -> Sign.named_context -> unit val add_section_kn : Names.mutual_inductive -> Sign.named_context -> unit |