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.
Screencasts, Whiteboards, and Slides produced to help you learn
In Clojure, the common advice is “just use a map”. There’s some truth to that, but it’s obviously more complicated. Clojure gives you lots of ways to model a problem. In this course, I give you a peek behind the curtain. I work step-by-step through different iterations of a domain model, discussing what I’m thinking, why I’m trying something else. We model the game of solitaire, a card game we’re all familiar with.
Pragmatic and in-depth guides to a topic.
Clojure’s collections are central to Clojure programming. While in most languages, you might find collections somewhere in the standard library, in Clojure, they are front and center.
How do we deal with that little bit of time between when the user clicks and the server confirms the change is saved? Well, like many things in life, there are two ways: optimistically and pessimistically.
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.
Curated selections of courses on a specific topic
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.
Parts of courses on specific topics
This lesson teaches how to use functional abstraction to make changes to data structures quick and easy. This lesson includes a video screencast, a git repo, and two exercises. The video is 14 minutes long.
This lesson demonstrates and evaluates many different representations of playing cards. The lesson includes a video screencast, a git repository with all code, and some exercises. The video is 14 minutes long.
In this lesson we develop a function that returns a new, dealt game. This lesson includes a video screencast and a git repo. The video is 16 minutes long.
How three built-in Clojure functions help us keep our database organized without much fuss.
Do you know these two patterns (Record and Index) that are commonly used with hashmaps? This lesson explains why and when they are used and give you a method for determining which one is being used in someone else’s code.
Because Subscriptions and Events form an interface that encapsulates the structure of the Database, the question becomes “what structure should the Database have?” In this lesson, we explore a small evolution of the Database, from a single use case to a completely general solution. The pattern we use is called Indexed Entities.