Module Kind.Make.Dynamic


module Dynamic: sig .. end
Dynamic kinds. They are kinds generated dynamically, after loading compilation units.
Since Boron-20100401

type kind = Kind.Make.t 
Alias for the type of kinds.
Since Boron-20100401
type graph 
Type of the dependency graph.
Since Boron-20100401
type t = graph Pervasives.ref 
Type of a dynamic dependency graph.
Since Boron-20100401
val create : unit -> t
Create a new dynamic graph for handling dynamic kinds.
Since Boron-20100401
val create_graph : unit -> graph
Create a new graph.
Since Boron-20100401
val clear_graph : graph -> unit
Reset a graph by removing all the vertices and edges.
Since Boron-20100401
val add_kind : t ->
T.t -> kind list -> kind
Add a kind in a graph, with predefined dependencies.
Since Boron-20100401
val remove_kind : t -> kind -> unit
Remove a kind.
Since Boron-20100401
val add_dependency : t ->
kind -> kind -> unit
Add a dependency from the first kind to the second one in the given graph.
Since Boron-20100401
type marshalled_graph 
Type of a marshallable graph.
Since Boron-20100401
val marshal : graph -> marshalled_graph
Convert a graph to a marshallable one.
Since Boron-20100401
val unmarshal : (string -> T.t) ->
(kind -> unit) ->
marshalled_graph -> graph
Retrieve a graph from a marshaled one. The first closure builds the value to store in the kind from a name. The second one is a kind updater called on each fresh kind.
Since Boron-20100401
val before_load : unit -> unit
Must be called before loading **all** projects
Since Boron-20100401
val after_load : unit -> unit
Must be called after loading **all** projects
Since Boron-20100401