I\'ve written some toy interpreters/compilers in the past, so I associate stacktraces referencing lines in compiler source files with compiler bugs.
If I add the followi
Clojure stacktraces are noisy, and that is a complaint that has apparently been heard. Some librairies provides nicer stacktraces, like clj-stacktrace or the expectations library.
But this is something that is also being improved in Clojure itself, for instance with the recent 1.7 release. See also the clojure.stacktrace api.
So I bet it will only get better over time. Things are very exciting in the Clojure{Script} ecosystem right now.
Replying to your numbered points,
it is idiomatic in Clojure to interoperate directly with Java libraries, so getting the full Java stacktrace can be helpful if you are calling into Java objects in some unexpected or unsupported way.
Sounds like a good idea; I've often at least wished for a settable option which would allow me to see only the parts of stacktraces originating in my own code, suppressing all the underlying language layers.
I usually just do it the hard way and pore over the stacktrace to get the line in my program that barfed, tuning out the clojure.*
parts (and I usually test each minute change so I have a pretty good idea what change caused the problem). Some of the Emacs and Eclipse tools I've used show you only the actual error and not the whole stacktrace; I generally find this to be more helpful.
At Clojure/west in 2012, @chouser gave a nice talk [PDF] on the anatomy of stacktraces, explained how to read them, and introduced a promising-looking tool, which apparently still has not seen the light of day yet.
Compared with, say, Python, whose stacktraces I find pretty user-friendly, I think stacktraces are a rough edge in Clojure, particularly for beginners. This is partly due to the "hosted" nature of the language, though I expect there are improvements which could be made without adding incidental complexity.