We tend to code using patterns that we repeat a lot. Learning these patterns can help you level up your macro skills very quickly. This reference sheet contains six annotated patterns that Clojure programmers use all the time.

Have you ever wondered what the symbols in Clojure macros do? I’m talking about `, ~, ~@, etc. This handy reference sheet tells you what they all do, when to use it, and shows examples. Never get lost in a macro again!

When we’re developing macros, it really helps to be able to see what code it will output. Fortunately, Clojure comes with three built-in functions for doing just that. They are so useful for debugging. This reference sheet shows what each one does. It also includes how to access macroexpansion in the three most popular Clojure […]

Want a handy reference for writing your tests? This cheatsheet contains everything you need to write tests, make assertions, and set up fixtures. It even shows the commands for runnings tests at the REPL.

Your Database is going to contain a lot of important information. When
you’re first starting out your app, you don’t know exactly what you’re
going to store in there. In addition, you don’t know how you’re going
to want to access it. Both of these will evolve over time as you
understand more of the domain and you uncover the complexities of your
UI. We want some help from the framework (Re-frame) to help us deal
with this evolution.

Learning Paths

Clojure can be an excellent language to learn programming. The following courses should set you on a good path for getting up to speed in Clojure. Be sure to click those checkmarks to track your progress. Start with the best introduction to Clojure out there. It gently guides you through the language with fun exercises. […]

If you’re coming to Clojure from an Object-Oriented Programming background, this page is for you. Be sure to click those checkmarks to track your progress. Start with the best introduction to Clojure out there. It gently guides you through the language with fun exercises. You’ll learn the syntax and the thought processes behind Clojure programming. […]

If you’re looking to watch absolutely all of the courses on this site, I’ve put together a suggested order. Start at the beginning and just watch everything straight through. Be sure to click those checkmarks to track your progress.

Web development is an extremely popular use for Clojure. If you want to learn web programming, here are the courses I recommend you watch. I am assuming you already are familiar with Clojure. Be sure to click those checkmarks to track your progress. Backend You’ll want to learn Ring. It is a unifying set of […]

What mysteries do Clojure macros hold? This course jumps right into macros with gusto. It starts with the key to understanding macros, takes you through the implementation of 6 progressively more complex macros, and finishes with the three reasons you *need* macros.

Sometimes we want to see how individual components are built. We want to know how to reproduce common components easily using Re-frame. In this course, we take that approach. We build individual, interactive components, going through the design decisions we have to make.

Ever been completely baffled by Wikipedia articles on Monads and Functors? Are you curious about what everybody is raving about, but can’t find any good ways to learn it? It turns out that many of the ideas of category theory come almost directly from the real world. Wouldn’t you like to understand how those concepts relate to the real world?

Clojure is based on collections, but how are they used? What are some patterns for making the most of them? This course introduces you to the workhorses of the Clojure programming language, the immutable collections.

Sometimes we need to get a reference to the real DOM node that React normally manages for us. For instance, when we need to play an embedded video, the API requires access to the DOM node of the video element. React gives us a feature called Refs that let us get access to any DOM node it creates.

People know about the immutable data
structures and the STM. But there’s something going on at a much
deeper level that is really hard to get right in Java. It has to do
with the optimizations the JIT will run on your code.

Issue 309 – January 14, 2019 · Archives · Subscribe Hi Clojurists, As I write this, I’m sitting in my hotel room in Bengaluru, India. Yesterday was IN/Clojure. I was so impressed with the organization, the speakers, and the attendees. I’ve had such a great time here. And it really proves that a community can […]

Issue 308 – January 07, 2019 · Archives · Subscribe Hi Clojurists, There is something about the end of the year that nudges us to reflect on the prior year and look forward to the next year. While I make resolutions (and fail on many of them) all year round, January 1 seems like a […]

Issue 307 – December 31, 2018 · Archives · Subscribe Hi Clojurtators, I’ve gotten a couple of questions on the status of the podcast. I will be continuing in the new year. Things got busy and I decided to call this a holiday break. I’m really looking forward to my travels to India for IN/Clojure. […]

Issue 305 – December 17, 2018 · Archives · Subscribe Hi Clojurists, As the temperature gets colder here in the northern hemisphere, and the end of the year approaches, it’s time for reflection. Folks, I am so grateful to all of you, my readers, for being there. The community has been so generous with me. […]