-
Tracing debuggers give you the best of both worlds. I've recently started using Flow-storm [0], by @jpmonettas), and it's been quite transformative. You can still easily see the values flowing through your system (better than just "prints"), and it can handle multi-threaded / async scenarios quite nicely. You don't need to manually step through code, you can just "see" your data flow, and when you have loops or some other form of iteration, you can see the data for each pass. Coupling this with a good data visualization tool (such as Portal [1]) really feels like magic. I've been doing Clojure for quite a few years now, and was very happy with my plain REPL-driven workflow, but this is way better.
[0] https://github.com/jpmonettas/flow-storm-debugger
[1] https://github.com/djblue/portal
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Tracing debuggers give you the best of both worlds. I've recently started using Flow-storm [0], by @jpmonettas), and it's been quite transformative. You can still easily see the values flowing through your system (better than just "prints"), and it can handle multi-threaded / async scenarios quite nicely. You don't need to manually step through code, you can just "see" your data flow, and when you have loops or some other form of iteration, you can see the data for each pass. Coupling this with a good data visualization tool (such as Portal [1]) really feels like magic. I've been doing Clojure for quite a few years now, and was very happy with my plain REPL-driven workflow, but this is way better.
[0] https://github.com/jpmonettas/flow-storm-debugger
[1] https://github.com/djblue/portal
-
chatgpt-shell
A multi-llm Emacs shell (ChatGPT, Claude, DeepSeek, Gemini, Kagi, Ollama, Perplexity) + editing integrations
With lsp, the gap between IDEs vs text editors is narrowing. While I still prefer Emacs, Iām pragmatic enough to jump on to whatever tool does a better job for a specific task. At times, that is Xcode.
Was also sceptical about ChatGPT and changed my mind like OP. I was less pragmatic on this one and brought ChatGPT over to Emacs https://github.com/xenodium/chatgpt-shell. Pretty happy with the result so far.
-
Awesome tools.
Personally I can't imagine coding in clojure without scope capture
https://github.com/vvvvalvalval/scope-capture
Related posts
-
Using def within the threading macro. Is there a better way of doing this?
-
FlowStorm a omniscient time travel debugger for Clojure/CLJS
-
build.simple: tools.build without the DIY ā install, sign and deploy libraries easily and securely like with Leiningen
-
Playback ā Interactive Programming and Print Debugging Reimagined (successor to Ghostwheel's tracing component)
-
Automatic function argument / return value collection