Hacker News new | past | comments | ask | show | jobs | submit login
Clojure 1.12.0-Alpha2 (clojure.org)
10 points by Borkdude on April 14, 2023 | hide | past | favorite | 7 comments



It has been years since I played with Clojure. What are some of the best editors/REPLs/IDEs these days?

I recall really liking leinengen as a project/dependency manager.


> It has been years since I played with Clojure. What are some of the best editors/REPLs/IDEs these days?

Well these days you can get a LSP server for Clojure and that shall work in any editor/IDE that supports the LSP protocol. I'm using Emacs and eglot and then the Clojure LSP server (which uses clj-kondo under the hood if I'm not mistaken) and it's plain amazing. I was already happily using Emacs / CIDER for Clojure devv'ing but now I'm using Emacs+Cider+eglot/LSP.

Lein is still alive and well but now Clojure also has its own build/deps tool.


After many years of Emacs (decades, in fact), I went through a few other editors and ended up with VS Code + Calva + Joyride (so I can script VS Code using ClojureScript) + Portal to visualize results.

When I got started with Clojure (back in 2010), Leiningen was the only game in town. At work we switched to Boot in 2015 because Leiningen just wasn't "programmable" enough for us, but after a few years we started to run into limitations with Boot (both the file system abstraction and the "pod" isolation caused problems), so we were very happy to switch to the Clojure CLI in 2018 with deps.edn -- and then add build.clj (and the tools.build library) when that appeared a couple of years ago.

We manage a monorepo with over 140 subprojects building almost two dozen artifacts, and 136K lines of Clojure, using the official Clojure CLI and tools.build.


The go to is still Emacs with CIDER however, there are many who are using Visual Studio or Cursive [1]

[1]: https://cursive-ide.com/


Best. Release. Ever.


If Borkdude says it's the best, I'm listening. Why is it the best release ever?


First item seems pretty cool: you don't have to restart the REPL to try out a new library.

Say you're tinkering with part of your program in the REPL, and want to try out a library you found online. Instead of losing whatever test data you've loaded/transformed, etc you can just call add-lib(s) and try out the new (potential) dependency. Equivalent in Ruby would be having a Rails console open and loading a new gem without editing Gemfile, running bundle and restarting the console.

Sounds like borkdude could like #3 more as that sounds useful for babashka.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: