Skip to content

Instantly share code, notes, and snippets.

@KSCGroup
Created April 23, 2012 16:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KSCGroup/2472261 to your computer and use it in GitHub Desktop.
Save KSCGroup/2472261 to your computer and use it in GitHub Desktop.
Two convenience function for clojure.tools.trace
;; Two convenience function for clojure.tools.trace
(defn var-traceable?
"Predicate that returns whether a var is traceable or not."
[v]
(and (var? v) (ifn? @v) (-> v meta :macro not)))
(defn var-traced?
"Predicate that returns whether a var is currently being traced."
([ns s]
(var-traced? (ns-resolve ns s)))
([v]
(let [v (if (var? v) v (resolve v))]
(not (nil? ((meta v) ::clojure.tools.trace/traced))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment