Hi,

On 10 Sep., 03:11, joshua-choi <[email protected]> wrote:

> I am running into a problem sometimes when I call a certain macro I
> defined. This problem macro (and an associated problem function) is:
>
> http://gist.github.com/572875
>
> I run into this error (which is at a call to the macro, but *not* at
> the *first* time it's called for some reason!):
>
> http://gist.github.com/572824
>
> And here is a full macro-expansion of the call at which the error
> happens:
>
> http://gist.github.com/572879
>
> I *cannot* figure this out. The error seems to be that there's a delay
> directly being embedded in some macro's form, but the delay call in
> the function that's causing the problem…is in a function! How can the
> delay show up at hound.clj's compile time?

I must confess, I'm not sure, what's going on. However the expansion
looks suspicious. Everything is namespace qualified.

One thing core does differently to your approach is using the var
special form. You might try:

(defmacro general-defmaker
  [def-form description rule-type-kw fn-name & forms]
  `(do
     (~def-form ~fn-name ~...@forms)
     (alter-var-root (var ~fn-name) named-rule-maker ~rule-type-kw)
     (var ~fn-name)))

But this is just guessing. As I said above: everything is qualified.
So maybe the problem is at some surrounding macro or so.

Sincerely
Meikel

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to