Fine, I will have a closer look at the issues you mentioned. I'll repost here when the code is available so you can have a look at it.
Luc On Sat, 24 Sep 2011 21:33:47 +0200 Jonathan Fischer Friberg <odysso...@gmail.com> wrote: > > > > I am moving the trace contrib stuff to 1.3. I would like to include > > your trace-forms > > macro in it. Feeling ok with this ? Comments ? > > > > Sounds good to me. > After all, I sent it to this list so that others could make use of it! > > When it comes to issues, in 1.3 it's not allowed to recur across > (try ...), which means that the macro wont work with (loop > (recur ...)) or (fn ... (recur ...)). > > Also, the big missing thing is that (trace-special-form) doesn't > cover fn*, i.e. the body of functions wont be traced. > > Jonathan > > On Sat, Sep 24, 2011 at 7:03 AM, Luc Prefontaine < > lprefonta...@softaddicts.ca> wrote: > > > Hi Jonathan, > > > > I am moving the trace contrib stuff to 1.3. I would like to include > > your trace-forms > > macro in it. Feeling ok with this ? Comments ? > > > > The issues you underlined are not runtime errors, they are > > compilation errors. > > There's not much you can do to trap these. > > The macro is still valuable for runtime tracing. > > > > Luc P. > > > > On Mon, 12 Sep 2011 11:31:39 +0200 > > Jonathan Fischer Friberg <odysso...@gmail.com> wrote: > > > > > Hello, > > > > > > I made a small macro, if anyone is interested. > > > https://gist.github.com/1209498 > > > > > > It wraps one or more forms and if an exception is thrown, > > > prints the form that caused it, and throws the exception itself. > > > > > > Examples: > > > > > > user=> (trace-forms 3) > > > 3 > > > > > > user=> (trace-forms (+ 6 (/ 9 0))) > > > java.lang.ArithmeticException: Divide by zero (NO_SOURCE_FILE:9) > > > Form failed: (/ 9 0) > > > Form failed: (+ 6 (/ 9 0)) > > > > > > user=> (trace-forms (let [a 0 b (/ 9 a)] b)) > > > java.lang.ArithmeticException: Divide by zero (NO_SOURCE_FILE:75) > > > Form failed: (/ 9 a) > > > Form failed: (let* [a 0 b (/ 9 a)] b) > > > Form failed: (let [a 0 b (/ 9 a)] b) > > > > > > Issues: > > > > > > user=> (trace-forms (let [b (/ 9 a)] b)) > > > java.lang.Exception: Unable to resolve symbol: a in this context > > > (NO_SOURCE_FILE:94) > > > > > > user=> (trace-forms (let [a (java.lang.DoesNotExist.)] a)) > > > java.lang.ClassNotFoundException: java.lang.DoesNotExist > > > (NO_SOURCE_FILE:93) > > > > > > ---- > > > > > > Thoughts? > > > > > > Jonathan > > > > > > > > > > > -- > > Luc P. > > > > ================ > > The rabid Muppet > > > > -- > > 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 > > > -- Luc P. ================ The rabid Muppet -- 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