package pa_ppx

  1. Overview
  2. Docs
type 'a edges_t
type 'a hash_adj_t
val adj_lookup : 'a hash_adj_t -> 'a -> 'a list
type !'a visit_type =
  1. | PRE of 'a
  2. | POST of 'a
  3. | EDGE of 'a * 'a
val dfs : ('a -> 'b -> 'a) -> ('a -> 'b visit_type -> unit) -> 'b list -> 'b hash_adj_t -> 'a -> 'b list option -> unit
val nodes : ('a * 'a) list -> 'a list
val mkadj : ('a * 'a) list -> 'a hash_adj_t
val cycles : 'a list -> 'a hash_adj_t -> 'a Uf.t * ('a * 'a list) list
val cyclic : 'a list -> 'a hash_adj_t -> bool
val tsort : 'a list -> 'a hash_adj_t -> 'a list list
val tclos : 'a list -> 'a hash_adj_t -> 'a list -> 'a list