This blog is being moved. There is prettier version of this article at http://blogish.nomistech.com/clojure/clojure-workflow-demo/.
Stuart Sierra's Clojure Development Workflow
Clojure development is nice and dynamic, but there are times when it's not as dynamic as you might like and then it can take time to restart your environment, get all your development utilities in place and get your application re-loaded so that you can continue to work on it from a known clean state.
Stuart Sierra has been working on improving this.
I came across his tools.namespace a while ago, and it's been very useful.
Stuart has been taking things further recently, coming up with an approach to designing applications that plays nicely with dynamic development and which allows very fast reloading of applications during development.
He's described this in a recent blog post, in his Clojure in the Large talk at Clojure/West, and in Relevance Podcast Episode 32.
I've produced an example project that uses Stuart's approach, and I describe that here.