package herdtools7

  1. Overview
  2. Docs

Abstract topological sorting module.

This implements the Trajan algorithm.

Parameters

Signature

type succs = O.t -> O.t list

Type of functions returning the successor of a node.

val fold_strong_connected : ?size_hint:int -> (O.t list -> 'a -> 'a) -> O.t list -> succs -> 'a -> 'a

fold the strongly connected components following the derived order given by succs.

val sort_connected : O.t list -> succs -> O.t list list

Sort the strongly connected components following the derived order given by succs.

val index_connected : O.t list -> succs -> (O.t * int) list

index all nodes in an order that respects the order given by succs. Nodes have the same index if and only if they are in the same strongly connected component.

module Properties : sig ... end
OCaml

Innovation. Community. Security.