What is Clojure?

February 27, 2016
Clojure is a general purpose programming language designed for the fast-approaching future.

How can more layers be more efficient?

February 20, 2016
It's common that adding more layers of abstraction or indirection will make things slower. However, React and ClojureScript make web pages faster than doing it by hand -- essentially programming the bare web. The lesson is that if you choose your layers well, they can actually make your system faster.

Reasoning About Code

February 20, 2016
Functional programmers often use the term "reason about code". It's not very well defined generally, but I use it myself to refer to our ability to use our real-world intuition in our own code.

Immutable Paper

February 10, 2016
Immutable data appear to contradict our observations of the real world. Things in the world are mutable, so shouldn't our data be mutable, too? It may be counterintuitive, but immutable data does a better job of modeling many of our expectations of the real world.

Composable parts

February 08, 2016
Composition is an important idea in programming, and Functional Programming brings it to the forefront. But what does it mean to say things are composable?

Recommendations for Next-Level Clojure

January 24, 2016
There are many classics of functional programming that can help you take your thinking to the next level. My recommendations are for making you think in a new way.

Global Mutable State

January 06, 2016
Global mutable state is one of the biggest drivers of complexity in software systems. We tackle a definition and how to reduce our reliance on it.

How to Switch from the Imperative Mindset

December 12, 2015
Functional programming, from one perspective, is just a collection of habits that affect our programming. I've identified the cues for those habits and a routine for replacing imperative code with functional code.

Clojure + Ruby

December 03, 2015
If you're a Rubyist and you've heard some buzz about Clojure, these videos and links will be just for you. Rubyists teaching Clojure, Clojurists introducing Clojure to Ruby programmers, and Rubyists pontificating on Clojure.

2 Features of Clojure Editors Professionals Won't Do Without

November 28, 2015
Professional Clojure programmers rely on certain features of their editors to help them program. When choosing an editor, it's important to pick one that has these two important features: REPL integration and structural editing.