Files
Geneweb/bin/gwd/gwdPluginDep.mli
2024-03-05 22:01:20 +01:00

10 lines
392 B
OCaml

type 'a sort_result = Sorted of 'a list | ErrorCycle of 'a list
val sort : ('a * 'a list) list -> 'a sort_result
(** Given a list of elements (in this case, plugins) and their dependencies,
tries to compute a valid order `l` and return `Sorted l` .
If there is a cycle, returns `ErrorCycle l'` where `l'` is a dependency
cycle.
Uses Kahn's algorithm for cycle detection.
*)