On Fri, Sep 25, 2009 at 8:48 PM, Constantine Vetoshev <gepar...@gmail.com>wrote:
> > On Sep 25, 6:02 pm, John Harrop <jharrop...@gmail.com> wrote: > > I don't think you can use things like defmacro in a let. > > This works: > > (let [y 10] > (defmacro m1 [] > `(list ~y))) > > (m1) => > (10) Well, that's weirdly inconsistent. It shouldn't work just *some* of the time. Either it should work, or it shouldn't work. According to the language semantics, it should work if let bindings wrapping def forms are in effect during any side effects of the def form, and should fail otherwise. Anyone knowledgeable about clojure internals have any idea why it would work sometimes, but only sometimes? Did you get a detail message or stack trace from the exception you saw? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---