Resources
Curated collection of essential Clojure resources for learners and professional functional programmers. From official documentation to community tools.
Official Documentation
Language Reference
Official Clojure language documentation and guides.
- Complete language reference
- Getting started guides
- API documentation
- Community resources
Complete API documentation for Clojure core.
- All core functions
- Namespace organization
- Usage examples
- Source code links
Community-powered documentation with practical examples.
- Real-world usage examples
- User comments and tips
- Cross-references
- See-also recommendations
- Community contributions
Interactive reference organized by category.
- Quick lookup by function type
- Searchable and filterable
- Links to full documentation
- Categorized by use case
Official Guides
Official installation and setup guide.
- JVM installation
- Clojure CLI tools
- REPL basics
- First program
Comprehensive learning path from Clojure.org.
- Syntax fundamentals
- Functions and data structures
- Sequential processing
- State management
Kyle Kingsbury’s detailed introduction series.
- Beginner-friendly explanations
- Progressive complexity
- Practical examples
- Conceptual clarity
Development Tools
Build Tools
Most popular Clojure build tool and project automation.
- Project scaffolding
- Dependency management
- REPL integration
- Plugin ecosystem
- Simple configuration (project.clj)
Official dependency management and CLI tools.
- Minimal configuration
- Dependency resolution
- Tool execution
- Modern approach
- Git dependencies support
Scriptable build tool with composable tasks.
- Programmatic build scripts
- Task composition
- Flexible pipelines
- Interactive development
ClojureScript build tool focused on modern JavaScript.
- Hot code reloading
- NPM integration
- Multiple output targets
- Development server
- Production optimization
IDEs and Editors
Feature-rich IDE plugin for Clojure development.
- Intelligent code completion
- Structural editing
- Integrated REPL
- Debugging support
- Commercial (free for non-commercial)
Clojure extension for VS Code with interactive REPL.
- REPL integration
- Paredit support
- Inline evaluation
- Debugger
- Free and open-source
Powerful Clojure development environment for Emacs.
- Interactive programming
- Advanced debugging
- Code navigation
- Documentation lookup
- Test runner integration
Interactive programming environment for Neovim.
- REPL integration
- Evaluation in buffer
- Log window
- Multiple REPL support
- Lightweight
Simple IDE designed for beginners.
- Built-in tutorials
- REPL integration
- Simple interface
- Cross-platform
REPL Tools
Enhanced REPL with readline features.
- Syntax highlighting
- Multi-line editing
- Auto-completion
- Command history
- Inline documentation
ClojureScript build tool with hot reloading.
- Live code reloading
- CSS reloading
- Build notifications
- REPL integration
- Great for web development
Libraries and Frameworks
Web Development
Foundation for HTTP handling in Clojure.
- HTTP abstraction
- Middleware system
- Request/response maps
- Adapter for various servers
- Core of web ecosystem
Routing library for Ring.
- Concise routing DSL
- Route matching
- Parameter extraction
- Middleware support
- Widely used
Modern, data-driven routing library.
- Fast routing
- OpenAPI integration
- Bidirectional routing
- Middleware per route
- Schema validation
Web framework for services and APIs.
- Asynchronous processing
- Interceptor chain
- Server-sent events
- WebSocket support
- Production-ready
Micro-framework for web applications.
- Project templates
- Curated library stack
- Documentation
- Best practices
- Batteries included
Data Validation
Built-in specification and validation library.
- Data shape specification
- Function contracts
- Generative testing
- Error reporting
- Core library (no dependency)
Data-driven schema library.
- Schema as data
- Fast validation
- Transformation
- JSON schema generation
- Rich error messages
Declarative data description and validation.
- Concise syntax
- Runtime validation
- Documentation
- Coercion support
- Mature ecosystem
Database Access
Modern JDBC wrapper for Clojure.
- Simple API
- Performance optimized
- Connection pooling
- Transaction support
- Official recommendation
SQL-first database library.
- SQL files as functions
- Named parameters
- Multiple queries per file
- Result transformation
- ClojureScript support
SQL DSL for Clojure.
- Composable queries
- Clojure data structures
- Vendor-specific support
- Extensible
- Type-safe
Database designed for Clojure.
- Immutable facts
- Time-aware queries
- Datalog query language
- ACID transactions
- Built by Cognitect
In-memory Datalog database.
- Datomic-like API
- Client-side database
- ClojureScript support
- Reactive queries
- No server needed
Testing
Built-in testing framework.
- Simple assertions
- Test fixtures
- Test namespaces
- No dependencies
- Standard approach
BDD-style testing framework.
- Readable syntax
- Mocking support
- Fact checking
- Tabular tests
- Prerequisites
Property-based testing library.
- Generative testing
- Shrinking failures
- Custom generators
- Spec integration
- QuickCheck port
Minimalist testing framework.
- Concise syntax
- Data-driven
- Quick to learn
- Good error messages
- Lightweight
Data Processing
Asynchronous programming with channels.
- CSP-style concurrency
- Channels for communication
- Go blocks
- Timeout support
- ClojureScript compatible
Asynchronous programming toolkit.
- Deferreds (promises)
- Streams
- Time operations
- Graph structures
- Performance focused
Threadpool tools for parallel processing.
- Parallel map/reduce
- Custom threadpools
- Priority scheduling
- Fork-join support
- Easy parallelism
ClojureScript Resources
Official Documentation
Official ClojureScript documentation.
- Quick start guide
- Differences from Clojure
- JavaScript interop
- Build tools
- Browser REPL
Complete ClojureScript API reference.
- Core functions
- JavaScript interop
- Syntax differences
- Browser APIs
- Node.js support
Frameworks and Tools
Minimalist React wrapper for ClojureScript.
- Hiccup syntax
- Reactive atoms
- Clean API
- React component interop
- Lightweight
Framework for building React apps.
- Unidirectional data flow
- Event handling
- Subscription model
- Effect management
- Well documented
Full-stack framework for web development.
- Isomorphic Clojure/Script
- Data-driven UI
- Normalized database
- Server integration
- Complex UIs
Learning Resources
Books
Clojure for the Brave and True
Free online book by Daniel Higginbotham.
- Beginner-friendly
- Humorous approach
- Comprehensive coverage
- Practical examples
- Available online and print
Programming Clojure by Alex Miller, Stuart Halloway, Aaron Bedra
Comprehensive introduction to Clojure.
- Core concepts
- Practical techniques
- Updated for modern Clojure
- From Pragmatic Programmers
Clojure Applied by Ben Vandgrift and Alex Miller
Practical guide to building applications.
- Real-world patterns
- Architecture decisions
- Production considerations
- Best practices
The Joy of Clojure by Michael Fogus and Chris Houser
Deep dive into Clojure philosophy and design.
- Advanced concepts
- Functional thinking
- Language internals
- Design patterns
Living Clojure by Carin Meier
Introduction with training plan.
- Step-by-step learning
- Exercises
- Community resources
- Beginner focus
Clojure in Action by Amit Rathore and Francis Avila
Practical guide to Clojure development.
- Web applications
- Concurrency
- Testing
- Production deployment
Online Courses
Learning Clojure through test-driven practice.
- Interactive exercises
- Incremental learning
- Test-based
- Fill in the blanks
- Free
Problem-solving platform for Clojure.
- Coding challenges
- Difficulty levels
- Community solutions
- Learn by doing
- Free
Coding exercises with mentorship.
- 100+ exercises
- Mentor feedback
- Community solutions
- Test-driven learning
- Free
Video courses by Eric Normand.
- Beginner to advanced
- Practical focus
- Web development
- Email newsletter
- Subscription-based
High-quality screencasts and courses.
- Modern tools and libraries
- Professional production
- ClojureScript focus
- Subscription-based
- Episode format
Community
Active Slack community (get invite at clojurians.net).
- Thousands of members
- Beginner-friendly channels
- Library-specific channels
- Job postings
- Helpful community
Community forum for discussions.
- Long-form discussions
- Announcements
- Help requests
- Library showcases
- Friendly atmosphere
Clojure subreddit.
- News and articles
- Project showcases
- Discussions
- Weekly threads
- Community voting
Official mailing list.
- Technical discussions
- Announcements
- Design decisions
- Historical archive
- Long-form communication
Curated resources from r/Clojure.
- Learning paths
- Library recommendations
- Tool comparisons
- Community FAQs
Blogs and Newsletters
Aggregator of Clojure blogs.
- Multiple authors
- Recent posts
- Diverse topics
- RSS feed available
Weekly Clojure newsletter by Daniel Compton.
- Curated articles
- Library updates
- Community news
- Job postings
Weekly Clojure newsletter.
- Technical articles
- Library releases
- Conference talks
- Community highlights
Technical blog on Clojure and ClojureScript.
- Deep dives
- Tool tutorials
- Best practices
- Video content
Functional programming articles including Clojure.
- Career advice
- Technical tutorials
- Industry trends
- Job listings
Video Content
Official Clojure YouTube channel.
- Conference talks
- Presentations
- Rich Hickey talks
- Community contributions
Talks from London Clojure meetup.
- Monthly talks
- Diverse topics
- Community speakers
- Regular uploads
Talks from Clojure/conj conference.
- Expert speakers
- Advanced topics
- Community showcase
- Annual conference
Educational Clojure content.
- Beginner tutorials
- Functional programming concepts
- Problem-solving
- Weekly episodes
Package Repositories
Primary repository for Clojure libraries.
- Open-source libraries
- Easy publishing
- Maven-compatible
- Search and documentation
- Community-driven
Java libraries usable from Clojure.
- Java ecosystem access
- Stable releases
- Official libraries
- Dependency resolution
Development Tools
Static code analyzer suggesting idiomatic Clojure.
- Pattern matching
- Improvement suggestions
- Linter integration
- Educational
Clojure lint tool.
- Warning detection
- Code quality
- Configurable rules
- CI integration
Code formatting tool.
- Consistent style
- Configurable rules
- Editor integration
- CI/CD compatible
Fast linter for Clojure code.
- Static analysis
- Fast performance
- Editor integration
- Actionable warnings
Online REPL and Playgrounds
Collaborative computational notebooks.
- Live code execution
- Data visualization
- Shareable notebooks
- Version control
Online Clojure REPL and IDE.
- Browser-based coding
- Real-time collaboration
- Package management
- Free tier available
Simple browser-based REPL for beginners.
- No installation needed
- Tutorial included
- Quick experiments
- Beginner-friendly
Conferences and Meetups
Annual North American Clojure conference.
- Expert talks
- Workshops
- Community gathering
- Historical recordings
Annual European Clojure conference.
- International speakers
- Technical content
- Community networking
- Video recordings
Canadian Clojure conference.
- Regional focus
- Diverse speakers
- Practical topics
- Community building
Local Clojure user groups worldwide.
- Regular meetings
- Lightning talks
- Networking
- Study groups
Podcasts
Podcast from Cognitect (Clojure creators).
- Rich Hickey interviews
- Core team insights
- Language design
- Community guests
Conversational Clojure podcast.
- Community interviews
- Library showcases
- Learning experiences
- Casual format
Interviews with Clojure developers.
- Developer stories
- Project deep-dives
- Career advice
- Production experiences
Official Social Media
X (formerly Twitter): @clojure
Official Clojure X account.
- News and updates
- Community highlights
- Event announcements
- Library releases
Clojure professionals group.
- Job postings
- Industry discussions
- Professional networking
- Event announcements
Contributing to Clojure
How to contribute to Clojure development.
- Contribution workflow
- Contributor agreement
- JIRA workflow
- Patch submission
Issue tracking for Clojure core.
- Bug reports
- Enhancement proposals
- Patch screening
- Voting system
GitHub organization for Clojure projects.
- Source code
- Contrib libraries
- Read-only mirrors
- Issue tracking (some projects)
Platform-Specific
Clojure on .NET Common Language Runtime.
- .NET interop
- Windows support
- CLR integration
- Community-maintained
Fast-starting Clojure scripting environment.
- Native binary
- Instant startup
- Shell scripting
- CI/CD tasks
Compile Clojure to native executables.
- Fast startup
- Low memory
- Ahead-of-time compilation
- Command-line tools
Learn More
Comprehensive Learning Path:
- Initial Setup - Get started with Clojure
- Quick Start - Overview of key features
- Beginner Tutorial - Comprehensive fundamentals
- How-To Guides - Problem-solving guides
- Cookbook - Practical recipes
Reference Materials:
- Cheat Sheet - Quick syntax reference
- Glossary - Clojure terminology