package atd

  1. Overview
  2. Docs


module P : Param


val sort : (P.t * list) list -> (bool * P.t list) list

Partition the nodes of a directed graph into groups and sort these groups such that all edges going from one group to another point to the right, and such that each group has a single element or is a cycle. A cyclic group is marked as true while non-cyclic singletons are marked as false.

A cycle is a set of nodes such that any node of the set can be reached from any other node of that set.

All groups of more than one node are cyclic. Groups of one node may or may not be cyclic.