Clojure solves the concurrency problems of tomorrow today with a beautiful, succinct syntax, while leveraging thousands of existing Java libraries on the JVM. It is my conviction that using Clojure-based stack is a superior technology choice for web projects going forward.

Haskell will win in the long-run, but Clojure is the pragmatic functional choice today, primarily because of its immutable, persistent memory model and access to the JVM.

Here is a list of the content that compelled me to switch to a Clojure-based tech stack for future projects.

Philosophy

For more, refer to Rich Hickey's Greatest Hits.

Fundamentals

Kyle Kingsbury wrote a great series for beginners, Clojure From the Ground Up:

  1. Syntax and Evaluation Model

Tools

  • Light Table is a new IDE built by Chris Granger that ships with the Clojure runtime and evaluates forms in-line.
  • Leiningen is the ubiquitous build tool for Clojure.

Datomic

Datomic is a fact-based database that leverages Clojure's persistent, immutable memory model. I consider it one of the killer apps on the Clojure tech stack.

ReactJS

ReactJS is a front-end JavaScript framework built by Facebook not directly related to Clojure.

Om

Om is a ClojureScript abstraction on top of ReactJS made by David Nolan that leverages Clojure's memory model for even more performance and concision: