Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ironically one of my major annoyances in debugging Clojure is that stack traces don't come with a program state that can be inspected (as you get in ELisp or GDB)


. Sadly, the JVM unwinds the stack before returning the exception, which makes doing the right thing very hard.


I'm probably missing some subtlety. I'd think you could have some "debug mode" layer where the Clojure runtime catches exceptions. Basically wrapping every exception in Clojure with a try/catch, and doing a try/catch on every interop call

It's not ideal having two different modes (like a C++ Release/Debug) - but it'd be better than the current situation

Maybe this is what CIDER's debug macro is actually doing - I always forget to play around with it :) I'll need to try it in the future.

btw, thanks for your work. I really appreciate the stuff you've shared and it's nice to know someone else also uses thing/geom :))

Has the highly decoupled "mini-library" thing/geom architecture influenced Clerk? I'm been meaning to try it out - but notebooks always feel like they come with some ecosystem lock-in (esp if it's a company trying to make money - ie. Nextjournal). It'd guess it's part of why everyone reverts back to plain text. With thing/geom I just pick and choose and tweak the pieces I need - and then swap them out when I want to change to something else entirely (mostly for building GUI applications in CLJFX)


Agreed. Having a proper condition system in Clojure would be really great.




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

Search: