Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
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
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
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