On Tue, Apr 26, 2011 at 7:18 PM, clj123123 <ariela2...@gmail.com> wrote: > Thank you James, this worked for me. > > On Apr 26, 4:11 pm, James Reeves <jree...@weavejester.com> wrote: >> On 27 April 2011 00:05, clj123123 <ariela2...@gmail.com> wrote: >> >> > I have a function: >> >> > (defn abc [] (println "blah")) >> >> > (defn blah2 [f] (println f)) >> >> > (blah2 abc) >> >> > I need to print out the name of the function passed to blah2. >> >> Then you want something like: >> >> (defn blah2 [f] (println (:name (meta f))))
It has some limitations, though. Specifically, it won't work with local functions, even named ones: user=> (:name (meta (fn foo [] 42))) nil user=> (letfn [(foo [] 42)] (:name (meta foo))) nil Only defn seems to attach name metadata to a function. -- 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