Lessons
Clojure · Medium
Clojure · Medium. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
Multimethods
defmulti dispatch functions, defmethod, :default, and hierarchies.

Lesson 2
Protocols and records
defprotocol, defrecord, extend-protocol, and when to prefer them over maps.

Lesson 3
Macros: code that writes code
defmacro, syntax-quote, unquote ~ and splicing ~@, and macroexpand.

Lesson 4
Transducers
Composable transformations without intermediate seqs: comp, transduce, into, sequence.

Lesson 5
Refs and STM
Coordinated changes with ref, dosync, alter, commute, and ensure.

Lesson 6
Futures, promises and delays
future for background work, promise/deliver, delay/force, and deref with timeout.

Lesson 7
core.async channels
chan, >!! and <!!, go blocks with >! and <!, buffers, and close!.

Lesson 8
Java interop
Static calls, instance methods, new, doto, and type hints.

Lesson 9
Testing with clojure.test
deftest, is, testing, are, fixtures, and running tests.

Lesson 10
Laziness pitfalls
Chunked seqs, holding the head, realized?, and dynamic scope escaping lazily.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.