Latest Episodes

37. Transducers
Published 19 January 18

Transducers are a Clojure feature allowing you to write code that is efficient, reusable, and composable. They have been around for several years, landing first in Clojure 1.8, but even some experienced Clojure programmers are not yet reaping the benefits of their use. In this episode we’ll look at the problems that Transducers solve, and how you use them in practice.

37. Datomic Quickstart, part 2
Published 17 October 17

Datomic is a database based on the same principles that underly the design of Clojure itself. Learn what makes it different, and how to start using from Clojure immediately.

This second part dives deeper into transacting entities and querying them.

36. Datomic Quickstart, part 1Freebie
Published 17 October 17

Datomic is a database based on the same principles that underly the design of Clojure itself. Learn what makes it different, and how to start using from Clojure immediately.

This first part gives an overview of the architecture and data model, and walks you through your first transactions.

35. Generative Testing with test.check
Published 21 September 17

Generative testing, also called Property Based testing, is a powerful technique able to expose some of the most obscure bugs. You’ll learn how to create and compose generators, and how to define properties that together can verify many aspects of your code.

34. Acceptance Testing With SparkleDriver
Published 16 August 17

Learn how to use a headless web browser to test your application for feature completeness. You’ll also see how Component can be used to set up an isolated test environment, how to use fixtures and dynamic var bindings to share setup code between tests, and how to keep tests readable and concise by judicously pulling code into helper functions.


7 episodes
Learn how to build reactive user interfaces based on ClojureScript and React.js. These episodes gradually build up your knowledge. You start by building a small app using React directly, then move on to using Reagent, a popular wrapper library. Finally you learn how to give your Reagent apps a more coherent structure based on re-frame.
5 episodes
The Ring library forms the core of Clojure web development. If you're not sure where to start then this is the series for you. It will give you a solid foundation of the core abstractions involved. It also introduces the Compojure routing library, providing an easy way to start building real apps.
2 episodes
Datomic is an immutable database from Cognitect, the makers of Clojure. It has some powerful features and integrates nicely with Clojure's functions and data structures. This series teaches you about the architecture and data model of Datomic, as well as providing a practical tutorial to get up to speed quickly.
4 episodes
An extensive test suite is essential when maintaining a non-trivial code base over time. This series of episodes looks at various aspects of testing in Clojure, as well interesting libraries to add to your toolbox.
4 episodes
To manage the lifecycle of an application, it's become common practice to divide the system up into components, with dependencies between them. Stuart Sierra's Component library was the first to popularize this concept and can still be considered the reference implementation. The pattern is simple enough, but it does require some knowledge of Clojure's types and records functionality, so those are introduced first. This series also covers the System library, a handy collection of reusable components.
5 episodes
ClojureScript has revolutionized frontend development. The initial learning curve can be steep, but once you're over that initial hump the payoff is great. Learn how to tame the ClojureScript compiler, and how to bridge the gap between your functional ClojureScript code and the wild world of JavaScript.
9 episodes
All free Lambda Island episodes in one place. Enjoy!
8 episodes
In this series, core aspects of Clojure are taken apart and put together again, to see what exactly makes them tick. Seq, records, protocol, core functions and essential libraries. Level up now!