Module Dep_graph.Graph

Dependency graph of benchmarks using dependencies/provides

type t
val is_empty : t -> bool
type providers_map = Solver.Solved.t list Free_variable.Map.t

Which benchmarks provide each variable

val is_ambiguous : providers_map -> bool
val warn_ambiguities : providers_map -> unit

Print out the ambiguity information to stderr

type result = {
  1. resolved : t;
  2. with_ambiguities : t;
  3. providers_map : providers_map;
}
val build : Solver.Solved.t list -> result

Build dependency graphs

val fold : (Solver.Solved.t -> 'a -> 'a) -> t -> 'a -> 'a

Dependency topological folding

val iter : (Solver.Solved.t -> unit) -> t -> unit

Dependency topological iteration

val to_sorted_list : t -> Solver.Solved.t list

Returns the topological ordered list of Solver.Sovled.t

val save_graphviz : t -> string -> unit

Visualize the graph using Graphviz