Loom and Functional Graphs in Clojure
summary
Loom is an open-source Clojure library that provides concrete implementations: Bellman-Ford implementation (with negative-cycle detection), Dijkstra, A, Johnson for all-pairs, DFS/BFS including bi‑directional BFS, topological sort, Kosaraju SCC, Edmonds–Karp max flow, Prim MST, and Bron–Kerbosch cliques, plus visualization via Graphviz. It exposes protocols for graph/digraph/weighted/multigraph/editable and supports fly graphs* (read‑only adapters) and persistent immutable edits. Examples include SSA program graphs, a TitanDB adapter and analysis of Clojure GitHub dependency graphs; the library demonstrably integrates and works for those uses.
AI-written summary · about
chapters (12)
- 0:00Start
- 4:30Types of Graphs
- 6:44Graph Representations
- 8:38Graphs in FP World . Structs, interfaces & implementations
- 15:56Functional Graph Algorithms: Bellman- Ford
- 16:52Functional Graph Algorithms: Bellman-Ford
- 26:44Loom Overview: Supported Graphs
- 27:36Loom Overview: Graph Algorithms DFS/BFS (+ bidirectional)
- 30:55Functional Graph Algorithms: loom.alg-generic
- 31:44Loom Overview: Visualizing Graphs
- 32:09Your Graphs in Loom
- 34:17Functional Data Structures








