Module Fix.GraphNumbering

This module offers a facility for discovering and numbering the reachable vertices in a finite directed graph.

module Make (M : sig ... end) (G : sig ... end) : sig ... end

Make(M)(G) produces a numbering of the graph G, or more precisely, of the subset of the vertices of G that are reachable from the roots. The type of the vertices must be equipped with an implementation of imperative maps.

module ForOrderedType (T : sig ... end) (G : sig ... end) : sig ... end

ForOrderedType is a special case of Make where it suffices for the vertices of G to be ordered.

module ForHashedType (T : sig ... end) (G : sig ... end) : sig ... end

ForHashedType is a special case of Make where it suffices for the vertices of G to be hashed.

module ForType (T : sig ... end) (G : sig ... end) : sig ... end

ForType is a special case of Make where the vertices of G can have arbitrary type. OCaml's built-in generic equality and hash functions are used.