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

Reply via email to