functor
(T : sig
type t
val dummy : Kind.Make.t
val name : string
val kind_name : Kind.Make.t -> string
end) ->
sig
type t
val dummy : Kind.Make.t
val equal : Kind.Make.t -> Kind.Make.t -> bool
val compare : Kind.Make.t -> Kind.Make.t -> int
val hash : Kind.Make.t -> int
module Selection :
sig
type kind = t
type t
val ty : t Type.t
val empty : t
val is_empty : t -> bool
val add : kind -> how -> t -> t
val singleton : kind -> how -> t
val remove : kind -> t -> t
val iter : (kind -> how -> unit) -> t -> unit
val fold : (kind -> how -> 'a -> 'a) -> t -> 'a -> 'a
end
val create : T.t -> Kind.Make.t list -> Kind.Make.t
val value : Kind.Make.t -> T.t
val get_from_name : string -> Kind.Make.t
exception DependencyAlreadyExists of string * string
val add_dependency : Kind.Make.t -> Kind.Make.t -> unit
val iter : (T.t -> 'a -> unit) -> 'a -> unit
val apply_in_order :
Kind.Make.Selection.t ->
Kind.Make.Selection.t -> (Kind.Make.t -> 'a -> 'a) -> 'a -> 'a
val iter_in_order :
Kind.Make.Selection.t ->
Kind.Make.Selection.t -> (T.t -> 'a -> unit) -> 'a -> unit
val full_iter_in_order :
Kind.Make.Selection.t ->
Kind.Make.Selection.t -> (T.t -> 'a -> unit) -> 'a -> unit
val fold_in_order :
Kind.Make.Selection.t ->
Kind.Make.Selection.t -> (T.t -> 'a -> 'a) -> 'a -> 'a
val number_of_applicants :
Kind.Make.Selection.t -> Kind.Make.Selection.t -> int option
val full_number_of_applicants :
Kind.Make.Selection.t -> Kind.Make.Selection.t -> int option
module Dynamic :
sig
type kind = Kind.Make.t
type graph
type t = Kind.Make.Dynamic.graph Pervasives.ref
val create : unit -> Kind.Make.Dynamic.t
val create_graph : unit -> Kind.Make.Dynamic.graph
val clear_graph : Kind.Make.Dynamic.graph -> unit
val add_kind :
Kind.Make.Dynamic.t ->
T.t -> Kind.Make.Dynamic.kind list -> Kind.Make.Dynamic.kind
val remove_kind :
Kind.Make.Dynamic.t -> Kind.Make.Dynamic.kind -> unit
val add_dependency :
Kind.Make.Dynamic.t ->
Kind.Make.Dynamic.kind -> Kind.Make.Dynamic.kind -> unit
type marshalled_graph
val marshal :
Kind.Make.Dynamic.graph -> Kind.Make.Dynamic.marshalled_graph
val unmarshal :
(string -> T.t) ->
(Kind.Make.Dynamic.kind -> unit) ->
Kind.Make.Dynamic.marshalled_graph -> Kind.Make.Dynamic.graph
val before_load : unit -> unit
val after_load : unit -> unit
end
val dump_dependencies :
?only:Kind.Make.Selection.t ->
?except:Kind.Make.Selection.t -> string -> unit
val dump_dynamic_dependencies :
?only:Kind.Make.Selection.t ->
?except:Kind.Make.Selection.t -> string -> unit
end