Doh! Major face palm. I had such a bad case of tunnel vision on the macro
definition I forgot to look up the stack once I'd fixed the macro. Thanks.
Good to have extra eyes.
On Mon, Jul 21, 2014 at 1:04 PM, Matthew DeVore matv...@gmail.com wrote:
I haven't taken the time to fully grok your
In my case, I'm trying to use a the expression '[x] that is available to
the macro in the resulting product. So I don't want the value of x at all,
just a vector with the symbol x.
That vector is in a variable I have in the macro named
'positional-parameters', so I substitute
I haven't taken the time to fully grok your macro, but the error is not the
fault of your macro, but of the function invocation. (foo x) is causing the
error because x is undefined. foo is a plain function, not a macro, so it
tries to evaluate each argument. (foo 'x) works fine for me, as does
I don't have a Clojure REPL handy at the moment but it looks like the x symbol
is being resolved in the macro context rather than the expansion context. In
the macro source, where you have a plain x, try to replace it with ~'x ... This
blog post may be relevant: