What do you all think of Clojure's "REPL-driven development" method?

Seems to be a lot of inaccuracies about Clojure in this thread. Clojure compile times are really fast, and not slow at all. Applications written in Clojure may have slow startup times, and maybe this is the confusion people had here?

REPL-driven-development in Clojure does not mean working at the REPL, it means working at the editor, and synchronizing the code in your editor with a running REPL, often time with the state maintained if you want, or not if you don’t want or maintaining some of the state and not other parts of it.

This also means incremental compilation, where you can re-compile part of the code only and hot-swap it in the running REPL where existing dependent code automatically starts using the newly loaded one.

As interactive development goes, Elixir is pretty damn good compared to most other languages, sex gives you a lot of power, but I’d say it’s still not quite REPL-driven-development. There’s a bit more back/forth with iex, but you kind of end up adopting a different workflow which some people might prefer, which is closer to TDD I’d say, as opposed to RDD.

2 Likes