2 ms·
One thing to remember is that clojure (and most Lisp dialects) take the concept of code-as-data and vice-versa very seriously. Your configuration of a clojure/s
by dangerbird2 10y ago
One thing to remember is that clojure (and most Lisp dialects) take the concept of code-as-data and vice-versa very seriously. Your configuration of a clojure/script project is not done via magical directories full of yaml and json files with an obtuse build description language: instead, you just use ordinary lisp code, ideally with utility macros and functions provided by your build tool. Likewise, everything from defining dependencies to configuring tasks is described by simple Clojure lists, maps, and literals: all of which can be generated by ordinary clojure functions and macros. Basically, if you understand the core concepts of clojure, you can configure you project to exacly the way you want it with little extra difficulty.
- jeremiep 10y agoWhat I like best is that a single tool (lein or boot) drives the entire development pipeline and you get to choose between data-driven or code-driven approaches respectively. Usually there's one place for dependencies, one for builds, one for configuration; each using their own tools and/or languages. That list grows quickly as well. A single tool to drive it all is bliss. I recently had to take over a few Ruby projects and the tooling is so spread over its hell; bundle, gem, rake and others.