5 ms·
But traditionally it's been full of caveats, namely whenever you have long-lived objects or instances of classes somewhere in your hierarchy, causing all sorts
by sdegutis 8y ago
But traditionally it's been full of caveats, namely whenever you have long-lived objects or instances of classes somewhere in your hierarchy, causing all sorts of hard to debug issues. I used to do manual hot-reloading when working in a Clojure codebase full time for a few years using Cider (Clojure IDE inside Emacs), and it still required a fair amount of organizing your code to mostly be immutable to avoid these caveats altogether. An entire philosophy came out of this when Stuart Sierra wrote about how he solved this using lifecycles and then released his Component framework to kind of codify these lifecycle ideas into a concrete thing. All this because hot-reloading is great but really fragile.
- mateuszf 8y agoIt actually works great if your'e using ClojureScript / figwheel / reagent / re-frame.