Though I guess there is some merit in having less boilerplate, as fewer lines written mean fewer lines to modify during a refactor/debug session.
My understanding is that built in java hot swapping is very limited, and indeed would be a bad idea to try hotswapping in production.
If the clojure repl brings us closer to the erlang world isn't that a good thing?
Erlang does have a much better deployment story than jvms as far as code swapping.
But AFAIK Clojure is compiling to bytecode and is under the same constraints as the JVM that it is hosted in.
This is true for certain features (protocols, records, and gen-class, which are easy to avoid for everything but high-performance bottlenecks and legacy interop), but vanilla Clojure functions are built around vars, which are specifically designed to support reloading.
edit: it's still primitive compared to Erlang, but it's miles beyond Java.
fib-seq is not a defined token. wtf is going on here?
(rest fibonacci) fibonacci)
i don't know actually...This post is quite poor imho, and I am a clojure developer (I do use it at work as main language).
Maybe it's also because I don't find Midje appealing at all, or find a bit odd the minimalism argument when talking about lighttable vs emacs. If you know what you're doing with cider-mode (previously nrepl) on emacs there's no reason at all to switch to lighttable, quite the opposite. LT is probably good for newcomers, but for power users it's just not there yet (if ever).
Same goes for Marginalia, interesting and amusing, but I wouldn't use this for real documentation.
(def fib-seq
(lazy-cat [0 1] (map + (rest fib-seq) fib-seq)))
But, since he added an argument to the function, I don't think his code actually works, even if you ran :s/fib-seq/fibonacci[1]: https://en.wikibooks.org/wiki/Clojure_Programming/Examples/L...