On Sun, Feb 6, 2011 at 12:57 AM, Eugen Dück <eu...@dueck.org> wrote: > I'm talking about '~name on > https://github.com/clojure/clojure-contrib/blob/master/modules/dataflow/src/main/clojure/clojure/contrib/dataflow.clj#L338 > and below. > > I want to be able to generate names, i.e. I don't have them as > literals.
Unfortunately for you here, Clojure's macros expand from the outside in on arguments (so, if foo and bar are macros, (foo (bar x)) will first call foo with '(bar x), rather than call bar first, then call foo with the output of bar). So the only way to do this is to fork dataflow and change the macro in your fork, or to resort to eval: (eval `(the-macro ~(my-name-generating-expr) whatever-else)) -- 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