Clojure Productivity boosters

Hello,

I’m wondering about the techniques Clojurists use to improve their productivity.

For instance, I like to define boot tasks in ~/.boot/profile.boot and combine them in a shell:

(deftask with-maths "Add maths deps."
  []
  (merge-env! :dependencies '[[org.clojure/math.combinatorics "0.1.4"]
                                     [org.clojure/math.numeric-tower "0.0.4"]])
  (require '[clojure.math.combinatorics :as mc])
  (require '[clojure.math.numeric-tower :as mn]))

(deftask with-stats "Add stats deps."
  []
  (merge-env! :dependencies '[[incanter "1.5.7"]])
  (use '[incanter.core :exclude [trace abs]])
  (require '[incanter.charts :as charts])
  (require '[incanter.bayes :as bayes])
  (require '[incanter.stats :as status])
  (require '[incanter.io :as sio]))

... ... ...

$ boot with-maths with-stats repl

It’s a good way to improve my REPL workflow for day to day tasks.

What’s your preferred productivity tips (editors, plugins, library … ) ?

8 Likes

At least for me, I try to stay in the spacemacs cider REPL as much as possible. Then I can work on breaking my problem down into nice and small functions that all do one simple task.

1 Like