Strongly_conn...mponents.Make(3)
β¨ NAME β¨
okay so bestie, this page is Strongly_connected_components.Make(3) from the OCaml library manual π. The NAME section is literally:
Strongly_connected_components.Make - no description
No cap, thatβs the whole description π. Moving on π«Ά.
πΈ Module πΈ
The module situation is giving nested-module energy. The signature is:
Module Make
: (Id : Identifiable.S) -> sig end
π Documentation π
π¦ Module Make π¦
Hereβs the fancy signature again, because itβs iconic:
Module Make
: (Id : Identifiable.S) -> sig end
π Parameters π
"Id"β the parameter name, in quotes, exactly like that.Identifiable.Sβ the module type it has to satisfy.
And inside, you get this module:
module Id : Identifiable.S
π§ directed_graph type π§
The type is exactly:
type directed_graph = Id.Set.t Id.Map.t
If (a -> set) belongs to the map, it means there are edges from a to every element of set. It is assumed β like, the structure really expects it β that no edge points to a vertex not represented in the map. π
π component type π
Two constructors, periodt:
type component =
| Has_loop of Id.t list
| No_loop of Id.t
π vals π
These are the two values, and their signatures are the whole vibe in the original β no extra prose attached:
val connected_components_sorted_from_roots_to_leaf : directed_graph ->
component array
val component_graph : directed_graph -> (component * int list) array
Thatβs the whole page, bestie β slay π . Source/version: OCamldoc. Date: 2026-06-22. Byeee π«Ά
π¦ where this page comes from
- arch rolling: ocaml 5.5.0-1 Β· LGPL2.1 AND custom: QPL-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms