Resources

Curated collection of essential Clojure resources for learners and professional functional programmers. From official documentation to community tools.

Official Documentation

Language Reference

Clojure Official Website

Official Clojure language documentation and guides.

  • Complete language reference
  • Getting started guides
  • API documentation
  • Community resources

Clojure API Reference

Complete API documentation for Clojure core.

  • All core functions
  • Namespace organization
  • Usage examples
  • Source code links

ClojureDocs

Community-powered documentation with practical examples.

  • Real-world usage examples
  • User comments and tips
  • Cross-references
  • See-also recommendations
  • Community contributions

Clojure Cheatsheet

Interactive reference organized by category.

  • Quick lookup by function type
  • Searchable and filterable
  • Links to full documentation
  • Categorized by use case

Official Guides

Getting Started

Official installation and setup guide.

  • JVM installation
  • Clojure CLI tools
  • REPL basics
  • First program

Learn Clojure

Comprehensive learning path from Clojure.org.

  • Syntax fundamentals
  • Functions and data structures
  • Sequential processing
  • State management

Clojure from the Ground Up

Kyle Kingsbury’s detailed introduction series.

  • Beginner-friendly explanations
  • Progressive complexity
  • Practical examples
  • Conceptual clarity

Development Tools

Build Tools

Leiningen

Most popular Clojure build tool and project automation.

  • Project scaffolding
  • Dependency management
  • REPL integration
  • Plugin ecosystem
  • Simple configuration (project.clj)

deps.edn and Clojure CLI

Official dependency management and CLI tools.

  • Minimal configuration
  • Dependency resolution
  • Tool execution
  • Modern approach
  • Git dependencies support

Boot

Scriptable build tool with composable tasks.

  • Programmatic build scripts
  • Task composition
  • Flexible pipelines
  • Interactive development

Shadow-cljs

ClojureScript build tool focused on modern JavaScript.

  • Hot code reloading
  • NPM integration
  • Multiple output targets
  • Development server
  • Production optimization

IDEs and Editors

Cursive (IntelliJ IDEA)

Feature-rich IDE plugin for Clojure development.

  • Intelligent code completion
  • Structural editing
  • Integrated REPL
  • Debugging support
  • Commercial (free for non-commercial)

Calva (Visual Studio Code)

Clojure extension for VS Code with interactive REPL.

  • REPL integration
  • Paredit support
  • Inline evaluation
  • Debugger
  • Free and open-source

CIDER (Emacs)

Powerful Clojure development environment for Emacs.

  • Interactive programming
  • Advanced debugging
  • Code navigation
  • Documentation lookup
  • Test runner integration

Conjure (Neovim)

Interactive programming environment for Neovim.

  • REPL integration
  • Evaluation in buffer
  • Log window
  • Multiple REPL support
  • Lightweight

Nightcode

Simple IDE designed for beginners.

  • Built-in tutorials
  • REPL integration
  • Simple interface
  • Cross-platform

REPL Tools

Rebel Readline

Enhanced REPL with readline features.

  • Syntax highlighting
  • Multi-line editing
  • Auto-completion
  • Command history
  • Inline documentation

Figwheel Main

ClojureScript build tool with hot reloading.

  • Live code reloading
  • CSS reloading
  • Build notifications
  • REPL integration
  • Great for web development

Libraries and Frameworks

Web Development

Ring

Foundation for HTTP handling in Clojure.

  • HTTP abstraction
  • Middleware system
  • Request/response maps
  • Adapter for various servers
  • Core of web ecosystem

Compojure

Routing library for Ring.

  • Concise routing DSL
  • Route matching
  • Parameter extraction
  • Middleware support
  • Widely used

Reitit

Modern, data-driven routing library.

  • Fast routing
  • OpenAPI integration
  • Bidirectional routing
  • Middleware per route
  • Schema validation

Pedestal

Web framework for services and APIs.

  • Asynchronous processing
  • Interceptor chain
  • Server-sent events
  • WebSocket support
  • Production-ready

Luminus

Micro-framework for web applications.

  • Project templates
  • Curated library stack
  • Documentation
  • Best practices
  • Batteries included

Data Validation

Spec

Built-in specification and validation library.

  • Data shape specification
  • Function contracts
  • Generative testing
  • Error reporting
  • Core library (no dependency)

Malli

Data-driven schema library.

  • Schema as data
  • Fast validation
  • Transformation
  • JSON schema generation
  • Rich error messages

Schema

Declarative data description and validation.

  • Concise syntax
  • Runtime validation
  • Documentation
  • Coercion support
  • Mature ecosystem

Database Access

next.jdbc

Modern JDBC wrapper for Clojure.

  • Simple API
  • Performance optimized
  • Connection pooling
  • Transaction support
  • Official recommendation

HugSQL

SQL-first database library.

  • SQL files as functions
  • Named parameters
  • Multiple queries per file
  • Result transformation
  • ClojureScript support

Honey SQL

SQL DSL for Clojure.

  • Composable queries
  • Clojure data structures
  • Vendor-specific support
  • Extensible
  • Type-safe

Datomic

Database designed for Clojure.

  • Immutable facts
  • Time-aware queries
  • Datalog query language
  • ACID transactions
  • Built by Cognitect

Datascript

In-memory Datalog database.

  • Datomic-like API
  • Client-side database
  • ClojureScript support
  • Reactive queries
  • No server needed

Testing

clojure.test

Built-in testing framework.

  • Simple assertions
  • Test fixtures
  • Test namespaces
  • No dependencies
  • Standard approach

Midje

BDD-style testing framework.

  • Readable syntax
  • Mocking support
  • Fact checking
  • Tabular tests
  • Prerequisites

test.check

Property-based testing library.

  • Generative testing
  • Shrinking failures
  • Custom generators
  • Spec integration
  • QuickCheck port

Expectations

Minimalist testing framework.

  • Concise syntax
  • Data-driven
  • Quick to learn
  • Good error messages
  • Lightweight

Data Processing

core.async

Asynchronous programming with channels.

  • CSP-style concurrency
  • Channels for communication
  • Go blocks
  • Timeout support
  • ClojureScript compatible

Manifold

Asynchronous programming toolkit.

  • Deferreds (promises)
  • Streams
  • Time operations
  • Graph structures
  • Performance focused

Claypoole

Threadpool tools for parallel processing.

  • Parallel map/reduce
  • Custom threadpools
  • Priority scheduling
  • Fork-join support
  • Easy parallelism

ClojureScript Resources

Official Documentation

ClojureScript Website

Official ClojureScript documentation.

  • Quick start guide
  • Differences from Clojure
  • JavaScript interop
  • Build tools
  • Browser REPL

ClojureScript API

Complete ClojureScript API reference.

  • Core functions
  • JavaScript interop
  • Syntax differences
  • Browser APIs
  • Node.js support

Frameworks and Tools

Reagent

Minimalist React wrapper for ClojureScript.

  • Hiccup syntax
  • Reactive atoms
  • Clean API
  • React component interop
  • Lightweight

Re-frame

Framework for building React apps.

  • Unidirectional data flow
  • Event handling
  • Subscription model
  • Effect management
  • Well documented

Fulcro

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

Clojure Koans

Learning Clojure through test-driven practice.

  • Interactive exercises
  • Incremental learning
  • Test-based
  • Fill in the blanks
  • Free

4Clojure

Problem-solving platform for Clojure.

  • Coding challenges
  • Difficulty levels
  • Community solutions
  • Learn by doing
  • Free

Exercism - Clojure Track

Coding exercises with mentorship.

  • 100+ exercises
  • Mentor feedback
  • Community solutions
  • Test-driven learning
  • Free

PurelyFunctional.tv

Video courses by Eric Normand.

  • Beginner to advanced
  • Practical focus
  • Web development
  • Email newsletter
  • Subscription-based

Lambda Island

High-quality screencasts and courses.

  • Modern tools and libraries
  • Professional production
  • ClojureScript focus
  • Subscription-based
  • Episode format

Community

Clojurians Slack

Active Slack community (get invite at clojurians.net).

  • Thousands of members
  • Beginner-friendly channels
  • Library-specific channels
  • Job postings
  • Helpful community

ClojureVerse

Community forum for discussions.

  • Long-form discussions
  • Announcements
  • Help requests
  • Library showcases
  • Friendly atmosphere

r/Clojure (Reddit)

Clojure subreddit.

  • News and articles
  • Project showcases
  • Discussions
  • Weekly threads
  • Community voting

Clojure Google Group

Official mailing list.

  • Technical discussions
  • Announcements
  • Design decisions
  • Historical archive
  • Long-form communication

Clojure Subreddit Wiki

Curated resources from r/Clojure.

  • Learning paths
  • Library recommendations
  • Tool comparisons
  • Community FAQs

Blogs and Newsletters

Planet Clojure

Aggregator of Clojure blogs.

  • Multiple authors
  • Recent posts
  • Diverse topics
  • RSS feed available

The REPL

Weekly Clojure newsletter by Daniel Compton.

  • Curated articles
  • Library updates
  • Community news
  • Job postings

Clojure Weekly

Weekly Clojure newsletter.

  • Technical articles
  • Library releases
  • Conference talks
  • Community highlights

Lambda Island Blog

Technical blog on Clojure and ClojureScript.

  • Deep dives
  • Tool tutorials
  • Best practices
  • Video content

Functional Works Blog

Functional programming articles including Clojure.

  • Career advice
  • Technical tutorials
  • Industry trends
  • Job listings

Video Content

ClojureTV (YouTube)

Official Clojure YouTube channel.

  • Conference talks
  • Presentations
  • Rich Hickey talks
  • Community contributions

London Clojurians

Talks from London Clojure meetup.

  • Monthly talks
  • Diverse topics
  • Community speakers
  • Regular uploads

Clojure/conj

Talks from Clojure/conj conference.

  • Expert speakers
  • Advanced topics
  • Community showcase
  • Annual conference

Eric Normand’s YouTube

Educational Clojure content.

  • Beginner tutorials
  • Functional programming concepts
  • Problem-solving
  • Weekly episodes

Package Repositories

Clojars

Primary repository for Clojure libraries.

  • Open-source libraries
  • Easy publishing
  • Maven-compatible
  • Search and documentation
  • Community-driven

Maven Central

Java libraries usable from Clojure.

  • Java ecosystem access
  • Stable releases
  • Official libraries
  • Dependency resolution

Development Tools

Kibit

Static code analyzer suggesting idiomatic Clojure.

  • Pattern matching
  • Improvement suggestions
  • Linter integration
  • Educational

Eastwood

Clojure lint tool.

  • Warning detection
  • Code quality
  • Configurable rules
  • CI integration

Cljfmt

Code formatting tool.

  • Consistent style
  • Configurable rules
  • Editor integration
  • CI/CD compatible

clj-kondo

Fast linter for Clojure code.

  • Static analysis
  • Fast performance
  • Editor integration
  • Actionable warnings

Online REPL and Playgrounds

Nextjournal

Collaborative computational notebooks.

  • Live code execution
  • Data visualization
  • Shareable notebooks
  • Version control

Repl.it - Clojure

Online Clojure REPL and IDE.

  • Browser-based coding
  • Real-time collaboration
  • Package management
  • Free tier available

Try Clojure

Simple browser-based REPL for beginners.

  • No installation needed
  • Tutorial included
  • Quick experiments
  • Beginner-friendly

Conferences and Meetups

Clojure/conj

Annual North American Clojure conference.

  • Expert talks
  • Workshops
  • Community gathering
  • Historical recordings

EuroClojure

Annual European Clojure conference.

  • International speakers
  • Technical content
  • Community networking
  • Video recordings

Clojure/north

Canadian Clojure conference.

  • Regional focus
  • Diverse speakers
  • Practical topics
  • Community building

Meetup.com - Clojure Groups

Local Clojure user groups worldwide.

  • Regular meetings
  • Lightning talks
  • Networking
  • Study groups

Podcasts

Cognicast

Podcast from Cognitect (Clojure creators).

  • Rich Hickey interviews
  • Core team insights
  • Language design
  • Community guests

defn

Conversational Clojure podcast.

  • Community interviews
  • Library showcases
  • Learning experiences
  • Casual format

The REPL Podcast

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 LinkedIn

Clojure professionals group.

  • Job postings
  • Industry discussions
  • Professional networking
  • Event announcements

Contributing to Clojure

Clojure Contributor Guide

How to contribute to Clojure development.

  • Contribution workflow
  • Contributor agreement
  • JIRA workflow
  • Patch submission

Clojure JIRA

Issue tracking for Clojure core.

  • Bug reports
  • Enhancement proposals
  • Patch screening
  • Voting system

GitHub - Clojure

GitHub organization for Clojure projects.

  • Source code
  • Contrib libraries
  • Read-only mirrors
  • Issue tracking (some projects)

Platform-Specific

ClojureCLR

Clojure on .NET Common Language Runtime.

  • .NET interop
  • Windows support
  • CLR integration
  • Community-maintained

Babashka

Fast-starting Clojure scripting environment.

  • Native binary
  • Instant startup
  • Shell scripting
  • CI/CD tasks

GraalVM Native Image

Compile Clojure to native executables.

  • Fast startup
  • Low memory
  • Ahead-of-time compilation
  • Command-line tools

Learn More

Comprehensive Learning Path:

Reference Materials:

Last updated