Curious: how's this different from tools.trace? On Tue, Jan 15, 2013 at 8:29 PM, James Xu <xumingming64398...@gmail.com>wrote:
> https://github.com/xumingming/tracer > > tracer > > trace clojure call stack. > > When I read some open source clojure source code, I find that some > function/logic are so complex that it is not so easy to understand the > whole logic, I think it will help me a lot if I can see the real function > call stack with the provided paremeters, so I developed this simple tool to > facilitate reading of clojure source code. > <https://github.com/xumingming/tracer#usage>Usage > > - Include tracer in your project.clj > > [tracer "1.0.0-SNAPSHOT"] > > > - Go into your project home and start the repl: > > lein repl > > > - use the tracer.core namespace > > (use 'tracer.core) > > > - Tell tracer which namespace you want to trace: > > ;; CHANGE 'blind.reader TO YOUR OWN namespace(trace 'blind.reader) > > > - Invoke your function to see what happens( *you get a call tree & > with the parameter value!* ): > > user=> (read-string "\"hello\"")|--blind.reader$read-string ("hello") > |--blind.reader$string-push-back-reader ("hello") > |--blind.reader$string-push-back-reader ("hello" 1) > |--blind.reader$string-reader ("hello") > |--blind.reader$read (#<PushbackReader > blind.reader.PushbackReader@3eae3da8> true nil false) > |--blind.reader$char (") |--blind.reader$whitespace? (") > |--blind.reader$number-literal? (#<PushbackReader > blind.reader.PushbackReader@3eae3da8> ") |--blind.reader$numeric? (") > |--blind.reader$comment-prefix? (") |--blind.reader$macros (") > |--blind.reader$read-string* (#<PushbackReader > blind.reader.PushbackReader@3eae3da8> ") |--blind.reader$char (h) > |--blind.reader$char (e) |--blind.reader$char (l) > |--blind.reader$char (l) |--blind.reader$char (o) > |--blind.reader$char (")"hello" > > <https://github.com/xumingming/tracer#license> > > -- > 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 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