Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Clojure
  3. Loom - graph library for Clojure

Loom - graph library for Clojure

Clojure

A graph library for Clojure providing immutable graph data structures and algorithms.

Visit WebsiteGitHubGitHub
891 stars107 forks0 contributors

What is Loom - graph library for Clojure?

Loom is a graph library for Clojure that provides immutable graph data structures and a comprehensive suite of graph algorithms. It solves the problem of working with graphs in a functional, Clojure-native way, offering tools for creation, manipulation, traversal, and visualization of graphs.

Target Audience

Clojure developers who need to implement graph-based data processing, network analysis, dependency resolution, or any application requiring graph algorithms and structures.

Value Proposition

Developers choose Loom for its pure functional design, seamless integration with Clojure's immutable collections, and extensive algorithm support without external dependencies beyond Clojure itself.

Overview

Graph library for Clojure. Mailing list https://groups.google.com/forum/#!forum/loom-clj

Use Cases

Best For

  • Implementing graph algorithms like shortest path or topological sort in Clojure
  • Building network analysis tools with immutable graph structures
  • Modeling dependencies between entities in a functional style
  • Creating and manipulating graph data with attributes on nodes and edges
  • Generating random graphs for testing or simulation purposes
  • Visualizing graph structures using GraphViz integration

Not Ideal For

  • Projects requiring ongoing maintenance and updates for production stability
  • Teams needing cutting-edge graph algorithms or integration with modern Clojure tooling
  • Environments where installing external dependencies like GraphViz is prohibited or impractical

Pros & Cons

Pros

Immutable Functional Design

Provides immutable graph structures that integrate seamlessly with Clojure's functional paradigm, ensuring safe concurrency and persistence as shown in the README's add/remove operations returning new graphs.

Comprehensive Algorithm Suite

Includes a wide range of algorithms like BFS, DFS, Dijkstra, and topological sort, reducing the need for custom implementations, with examples for pathfinding and traversal in the basics section.

Flexible Graph Modeling

Supports directed, undirected, weighted, and attributed graphs, allowing complex metadata storage on nodes and edges, as demonstrated in the attributes and derived graphs examples.

Optional Visualization Support

Integrates with GraphViz for graph viewing via loom.io/view, though it requires external installation, offering a convenient way to visualize structures.

Cons

Unmaintained Status

The project is no longer actively developed, as announced, meaning no bug fixes, security updates, or compatibility with newer Clojure versions, which poses a risk for long-term use.

Visualization Dependency

Requires GraphViz to be installed separately with binaries in the path, adding setup complexity and potential deployment hurdles, as noted in the visualization section.

Limited Community and Documentation

Being unmaintained, community support and documentation updates are stagnant, making it harder to resolve issues or find modern examples compared to active projects.

Frequently Asked Questions

Quick Stats

Stars891
Forks107
Contributors0
Open Issues30
Last commit2 years ago
CreatedSince 2013

Tags

#functional-programming#graph-algorithms#data-structures#graph-library#graphviz#clojure#graph-theory#immutable

Built With

C
Clojure
G
GraphViz

Links & Resources

Website

Included in

Clojure2.8k
Auto-fetched 5 hours ago

Related Projects

OnyxOnyx

Distributed, masterless, high performance, fault tolerant data processing

Stars2,051
Forks201
Last commit6 years ago
NeanderthalNeanderthal

Fast Clojure Matrix Library

Stars1,123
Forks60
Last commit2 months ago
flamboflambo

A Clojure DSL for Apache Spark

Stars600
Forks84
Last commit7 years ago
sparkllingsparklling

A Clojure library for Apache Spark: fast, fully-features, and developer friendly

Stars446
Forks68
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub