4 ms·
> Now someone just needs to implement a reliable way to add/reload dependencies without restarting the REPL. Alex Miller is working on this as an official cloj
by harperlee 6y ago
> Now someone just needs to implement a reliable way to add/reload dependencies without restarting the REPL.
Alex Miller is working on this as an official clojure functionality, see the add-lib, add-lib2 and add-lib3 branches of deps.alpha. It's just brewing very slowly... hopefully with Tonsky now on board they are able to speed up this and other topics!
- nightwolf 6y agoDo you mean Fogus, or have I missed something?
- harperlee 6y agoYeah sorry; that would have been interesting, but fogus.
- fiddlerwoaroof 6y agoYeah, I’ve seen this work. It’s a bit annoying to me because the boot team basically solved this problem years ago too, but the Clojure core team seems to suffer from NIH syndrome. The other issue, though, is that I think the JVM and a couple of Clojure’s core design decisions are hampering the “everything is reloadable” workflow you get with Common Lisp: in CL, I can leave my REPL running for months and load five or six projects in parallel with no problem. In Clojure, I’ve found that I’m continuously restarting the REPL because things like protocol implementations are hard to reload cleanly.
- fiddlerwoaroof 6y agoAlso, ASDF makes the concept of a “project” a first class feature in the language: of the various Clojure tools around, only boot took this approach.
- NoahTheDuke 6y agoProtocols being tightly bound to their implementation in Java is a real bummer. Makes using them much more difficult and brittle than an equivalent CLOS-style system.