Yes, exactly, the error messages are often very obtuse. In part this is just the nature of dynamic languages: if you don't sanity check data structures at API boundaries, you get errors reported from obscure corners of implementation. Also, laziness can lead to very deep, very confusing stack traces. It's a bit like debugging deeply nested async callbacks, except that most async platforms have effective debuggers that can quickly elucidate how it's ended up at the bottom of a deep call stack, in seemingly unrelated code.
On Friday, December 27, 2013 11:42:30 PM UTC-8, Colin Fleming wrote: > > I think the error complaints are generally more about the errors when you > have something wrong in your code. Things like parsing of ns forms has > little to no error checking, and you can get some extremely obscure errors. > For example if you (or some tool) places an :import clause ahead of your NS > docstring, you get an error like: "java.lang.Character cannot be cast to > clojure.lang.Named" and it's generally attributed to a different namespace. > This sort of thing is terribly demoralising for newcomers, and occasionally > to seasoned pros too. > > > On 28 December 2013 16:53, Alex Baranosky <alexander...@gmail.com<javascript:> > > wrote: > >> I always hear people say that the errors are bad, but I just don't see >> it. The stacktraces say exactly what went wrong and at what line of the >> source. To me that's all I can hope for. >> >> I think there may have been some more obtuse errors that came up in older >> versions of Clojure that have since been improved in newer versions, though. >> >> >> On Fri, Dec 27, 2013 at 7:44 PM, Sean Corfield >> <seanco...@gmail.com<javascript:> >> > wrote: >> >>> Whilst the stacktraces can be pretty painful at times - esp. if you're >>> dealing with lazy sequences - they do include filenames and line >>> numbers, at least when you're outside the REPL. There are also a >>> number of tools to clean up stack traces to show only Clojure-related >>> entries and/or color-code them etc (e.g., >>> clojure.stacktrace/print-stack-trace which is part of the core Clojure >>> download). >>> >>> That said, yes, debugging errors is probably the worst aspect of using >>> Clojure :) >>> >>> And +1 on the language/community as best! >>> >>> Sean >>> >>> On Fri, Dec 27, 2013 at 5:48 PM, Guru Devanla >>> <grd...@gmail.com<javascript:>> >>> wrote: >>> > Seconded on Error reporting. >>> > >>> > I have been playing around with Clojure for sometime now and also >>> completed >>> > almost 150 of the 4clojure problems. What still scars me in terms of >>> > incorporating Clojure as a language of choice in more complicated >>> projects I >>> > work on in my other life, is the error reporting facility. The errors >>> > sometimes might as well just say 'I just cannot run!'. It would be >>> nice if >>> > there was some facility to approximately point to some s-exp or line >>> > numbers. >>> > >>> > May be I am missing some workflow used by other expert users. Can >>> someone >>> > throw more light on this. >>> > >>> > >>> > Thanks >>> > Guru >>> > >>> > >>> > On Fri, Dec 27, 2013 at 3:44 PM, Daniel >>> > <double...@gmail.com<javascript:>> >>> wrote: >>> >> >>> >> Best: Language & Community >>> >> Worst: Error Reporting >>> >> >>> >> >>> >> On Friday, December 27, 2013 3:17:48 PM UTC-6, Kelker Ryan wrote: >>> >>> >>> >>> In your opinion, what's the best, and what's the worst aspects of >>> using >>> >>> Clojure? >>> >> >>> >> -- >>> >> -- >>> >> You received this message because you are subscribed to the Google >>> >> Groups "Clojure" group. >>> >> To post to this group, send email to clo...@googlegroups.com<javascript:> >>> >> Note that posts from new members are moderated - please be patient >>> with >>> >> your first post. >>> >> To unsubscribe from this group, send email to >>> >> clojure+u...@googlegroups.com <javascript:> >>> >> For more options, visit this group at >>> >> http://groups.google.com/group/clojure?hl=en >>> >> --- >>> >> You received this message because you are subscribed to the Google >>> Groups >>> >> "Clojure" group. >>> >> To unsubscribe from this group and stop receiving emails from it, >>> send an >>> >> email to clojure+u...@googlegroups.com <javascript:>. >>> >> For more options, visit https://groups.google.com/groups/opt_out. >>> > >>> > >>> > -- >>> > -- >>> > You received this message because you are subscribed to the Google >>> > Groups "Clojure" group. >>> > To post to this group, send email to clo...@googlegroups.com<javascript:> >>> > Note that posts from new members are moderated - please be patient >>> with your >>> > first post. >>> > To unsubscribe from this group, send email to >>> > clojure+u...@googlegroups.com <javascript:> >>> > For more options, visit this group at >>> > http://groups.google.com/group/clojure?hl=en >>> > --- >>> > You received this message because you are subscribed to the Google >>> Groups >>> > "Clojure" group. >>> > To unsubscribe from this group and stop receiving emails from it, send >>> an >>> > email to clojure+u...@googlegroups.com <javascript:>. >>> > For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> >>> -- >>> Sean A Corfield -- (904) 302-SEAN >>> An Architect's View -- http://corfield.org/ >>> World Singles, LLC. -- http://worldsingles.com/ >>> >>> "Perfection is the enemy of the good." >>> -- Gustave Flaubert, French realist novelist (1821-1880) >>> >>> -- >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clo...@googlegroups.com<javascript:> >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+u...@googlegroups.com <javascript:> >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+u...@googlegroups.com <javascript:>. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com<javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.