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