Command-Line Intransigence

In the early days of Clojure, I was skeptical of Clojure-specific build tools like Lancet, Leiningen, and Cake. Why would Clojure, a part of the Java ecosystem, need its own build tool when there were already so many Java-based tools? At the time, I thought Maven was the last word in build tooling. Early Leiningen… Continue reading Command-Line Intransigence

It’s About the Platform

I’ve said It’s About the Libraries, and indeed, one of the major selling points of Clojure is that it can call Java libraries directly. But there’s more to it than that.  Libraries are just one benefit to building Clojure on top of Java, or, more accurately, on top of Java the platform. Look around you,… Continue reading It’s About the Platform

Cutting-Edge Clojure Development with Maven

I promised, in my previous post, that I would show you how to use the latest-and-greatest versions of Clojure and clojure-contrib in your Maven projects. Here’s that post. Formos Software maintains a Maven server with nightly builds of Clojure and contrib at Here’s a complete pom.xml file with dependencies on both Clojure and clojure-contrib:… Continue reading Cutting-Edge Clojure Development with Maven

Maven’s Not So Bad: Further Thoughts on Clojure Package Management

Update Sept. 4: How to get the latest builds of Clojure & Contrib Maven is a touchy subject. People tend to have strong opinions about it. But like it or not, it’s the de-facto standard for dependency management in the Java world. Clojure lives in the Java world, so that means we have to live… Continue reading Maven’s Not So Bad: Further Thoughts on Clojure Package Management

Clojure talk at Philly Lambda

The folks at Philly Lambda, a Philadelphia functional-programming group, were kind enough to invite me down to talk about Clojure last night. No video/audio recording, but here are my slides [PDF].

It’s About the Libraries

There’s a big ‘ol thread going on down at comp.lang.lisp about Clojure vs. Common Lisp. I’m biased, of course, but I have to say that Clojure and Rich Hickey are holding their own against some of the top c.l.l. flamers. But all the arguments about functional programming, software transactional memory, and reader macros miss what… Continue reading It’s About the Libraries

Tests Are Code

It’s interesting to see the first signs of rebellion against RSpec. I jumped on the RSpec bandwagon when it first appeared, mostly so I wouldn’t have to write “assert_equals” all the time. But while I liked and used RSpec, I don’t think it made my tests any better. If anything, they were a little bit… Continue reading Tests Are Code