Module WeakTopologicalOrder.Partition

type 'node t = private
| Empty
| Node of {
node : 'node;
next : 'node t;
}
| Component of {
head : 'node;
rest : 'node t;
next : 'node t;
}
val fold_nodes : ('node t'node_) IStdlib.IStd.Container.fold
val fold_heads : ('node t'node_) IStdlib.IStd.Container.fold
val expand : fold_right:('a'b'b t) IStdlib.IStd.Container.fold -> 'a t -> 'b t

Maps a partition nodes from 'a to 'b using the expansion fold_right. fold_right should not return its ~init directly but must always provide a non-empty sequence.

val pp : pp_node:(F.formatter -> 'node -> unit) -> F.formatter -> 'node t -> unit