Combinators are an important part of functional programming. They are functions — usually small — that combine their arguments into new functions. They’re great fun and have a lot to teach about functional programming and the lambda calculus. They are an important part of any Clojure programmer’s toolkit.
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.
Reduce is the most powerful functional tool available. It lets you build general-purpose recursive solutions without doing the recursion yourself. In this course, we implement reduce and other functions like map and filter using it. This course also goes over some practical things you can do with reduce.
Curated selections of courses on a specific topic
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 what apply does, how you can implement it, and when you’d want to use it. This lesson includes a video screencast. The video is 6 minutes long.
Like we said before, reduce is kind of a universal recursion over lists. We can implement a function to calculate the average using reduce.
This lesson teaches what comp does, how you can implement it, and when you’d want to use it. This lesson includes a video screencast. The video is 11 minutes long.
This lesson teaches the built-in combinator called complement. What does it do? How can you implement it? When should you use it? A video screencast is included. The video is 4 minutes long.
This lesson teaches what constantly does, how you can implement it, and gives some use case examples. This lesson includes a video screencast. The video is 5 minutes long.
In the third lesson in Recursion 101, we define another common recursive function, filter. This lesson includes a video screencast and some code. The lesson is 3 minutes long.