Specter is a powerful Clojure (and ClojureScript) library that revolutionizes navigation and manipulation of deeply nested and recursive data structures through a flexible, high-performance API beyond what vanilla Clojure offers. Specter has an extremely simple core, just a single abstraction called "navigator". Queries and transforms are done by composing navigators into a "path" precisely targeting what you want to retrieve or change. Navigators can be composed with any other navigators, allowing sophisticated manipulations to be expressed very concisely. In addition, Specter has performance rivaling hand-optimized code (see this benchmark). Clojure's only comparable built-in operations are get-in and update-in, and the Specter equivalents are 30% and 85% faster, respectively (while being just as concise). Under the hood, Specter uses advanced dynamic techniques to strip away the overhead of composition.

Features

  • Advanced path-based navigation to deeply nested data
  • Supports querying, transformation, and extraction of nested/recursive structures
  • Elegant API allowing complex edits—e.g., filter, sort, reverse in nested containers—concise and expressive
  • Works with both Clojure and ClojureScript data structures
  • Significant performance advantages over manual nested manipulation
  • Has tutorials and motivational guides that showcase its concepts and usage

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

Apache License V2.0

Follow Specter

Specter Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

Build gen AI apps with an all-in-one modern database: MongoDB Atlas

MongoDB Atlas provides built-in vector search and a flexible document model so developers can build, scale, and run gen AI apps without stitching together multiple databases. From LLM integration to semantic search, Atlas simplifies your AI architecture—and it’s free to get started.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Specter!

Additional Project Details

Registered

2025-08-19