- being on JVM means Jepsen can use JDBC drivers to interact with databases
- Clojure was designed to facilitate concurrent programming (via software transactional memory and persistent data structures)
- Clojure's interactivity allows quick prototyping
- Clojure's community has a strong emphasis on backwards compatibility
- macros allow a great deal of code reuse
- while there are some big drawbacks (niche language, no strong static typing, ...), it isnt an issue in practice since Jepsen is only worked on by 1-3 people at a time
I agree with most of these points, but it seems overly simplistic of an explanation. I really wanted to see what other languages were used for prototyping and why they were deemed insufficient. For instance, Haskell is mentioned but the most treatment it gets is that it was too "dogmatic" for writing Jepsen. There was no comparison on how easy it is to interact with databases from Haskell as opposed to Clojure. Moreover, Jepsen was prototyped "in a few different languages", but they are not compared to Clojure, let alone mentioned.