“This is my workflow. There are many like it, but this one is mine.” –Anon.

This is the first in a sequence of posts about my current workflow for developing in Clojure. I call this workflow “advanced” because it takes time to learn the various tools involved, but also because it allows me to tackle harder problems than I otherwise could.

The basic ingredients of this workflow are:

  • Lisp-related editor enhancements, including parenthesis magic, and, especially, in-editor REPL integration.
  • Continuous testing with instant display of results
  • Notebook-style semi-literate programming with continuous updating of documentation, display of math symbols, and in-page plots.

My setup has evolved over time and I expect it will be different by the time most people read this. I have found, though, that the right combination of tools allows me not only to manipulate Clojure code and see results quickly, but also to think more clearly about the problem at hand. In my experience, this leads to simpler, more elegant, more maintainable code.

These tools and techniques provide a sort of “sweet-spot” – they help me be productive in the language, and I find them fun to use together. Your mileage may vary – I have seen people be productive with vastly different workflows and toolsets.

Without further ceremony, let’s go straight to the first post, about customizing Emacs for Clojure.

Other posts in this series:



blog comments powered by Disqus

Published

03 July 2014

Tags