Clojure Web Tutorials

Back to Tutorials

The following topics are intentionally listed in the order in which you should learn them. The links provided are by no means a comprehensive list, but should get you started in the right direction. Feel free to skip around if you are already comfortable with a topic. If you find any additional links that were useful to you, please submit a Merge Request. Happy hacking!

Clojure

Clojure for the Brave and True

This whole e-book is great and worth a read. Chapters 1-6 are a good place to start for Clojure basics.

Clojure by Example
Clojure from the ground up

The official Clojure CLI build tool

Official reference

Extensible Data Notation (EDN)

GitHub repo
A nice tutorial

deps.edn, aliases, and the JVM classpath

Official reference
Chapter 12 of CFTBAT (Working with the JVM)

Clojure <-> Java interop

Official reference

Lazy sequences

Official reference
An article on laziness in Clojure
Another guide on laziness
Lambda Island: Seq & Seqable Video

Destructuring and Threading Macros

Destructuring
Threading Macros (Official Reference)
Threading with Style
Clojure Don’ts: Thread as

core.async

A blog post on getting started with core.async
Chapter 11 of CFTBAT (Concurrent Processes with core.async)
Official reference
Official examples
API reference

Clojure concurrency primitives: Refs, Agents, and Atoms

Chapter 10 of CFTBAT (Clojure Metaphysics)
Official reference: Refs
Official reference: Agents
Official reference: Atoms
When to use each primitive

Concurrent programming

Chapter 9 of CFTBAT (Concurrent and Parallel Programming)
Official reference
An in-depth reference to concurrency and parallelism in Clojure

Reducers

A good chapter on reducers (by the same author as CFTBAT)
Official reference
Intro to reducers by Rich Hickey
Anatomy of a reducer by Rich Hickey
A blog post on reducers and transducers
Lamba Island: Transducers Video

Transducers

Grokking Clojure transducers
Official reference
Intro to transducers by Rich Hickey
Examples of transducers
A blog post on transducers

Transients

Official reference

Ring

Official reference

Testing

Lamda Island: Testing Video Series

Production

Packaging Clojure for production