On Fri, 22 Jan 2010 17:25:39 -0800 ajay gopalakrishnan <ajgop...@gmail.com> wrote:
> I dont mind using println. The problem is that needs to be inside a do or > when ... and that is not really part of my code. When the time comes to > remove the prints, i need to remove all these do blocks too. I can leave > them as it is I guess, but then it is not neat and non-idiomatic. From all > the replies, it seems that Debugging is going to be a pain in the Lisp style > languages. How do people in Lisp/Scheme debug it? In the REPL. That's a pretty complete debugger, all by itself. In something like SLIME, you get the ability to examine the call stack, etc. while things are running. The trace package just dumps arguments/results of functions while they run. It's a primitive tool, but better than println's in many cases: user it, then use dotrace: user> (use 'clojure.contrib.trace) nil user> (defn foo [coll] (reduce + coll)) #'user/foo user> (defn bar [coll] (map inc coll)) #'user/bar user> (dotrace [foo bar] (foo (bar [1 1 1]))) TRACE t7043: (bar [1 1 1]) TRACE t7043: => (2 2 2) TRACE t7044: (foo (2 2 2)) TRACE t7044: => 6 6 user> (dotrace [foo +] (foo (bar [1 1 1]))) TRACE t7071: (foo (2 2 2)) TRACE t7072: | (+ 2 2) TRACE t7072: | => 4 TRACE t7073: | (+ 4 2) TRACE t7073: | => 6 TRACE t7071: => 6 6 and so on. <mike -- Mike Meyer <m...@mired.org> http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information. O< ascii ribbon campaign - stop html mail - www.asciiribbon.org -- 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