Hi Randall, The syntactic sugar forms are reader behavior, and occur too soon: at read time, not macro expansion time.
Macros need to expand to real forms, not reader shortcuts. Stuart > Hi, > > A couple of days ago I was having a lot of trouble getting the > (ClassName. ctor-args...) form of constructors to work while (new > ClassName ctor-args...) was fine. It eventually occurred to me that > the > problem had to do with those constructor calls being in macro bodies. > Now it turns out those macros were very poorly written, and now the > constructor code is isolated in a function called by the macro > expansion (you might never know how ugly something can be until you > (macroexpand ...) it!). > > However, I am left wondering what exactly is the interaction that was > causing the dot-suffix form of the constructor call to fail in a macro > expansion. I sense it has to do with the fact that symbols (other than > gensyms or syntax-unquoted macro arguments) used in macro definitions > are qualified with the namespace of the macro definition when that > macro is expanded. > > Is this understanding correct? If so, is the behavior deliberate? > > > Randall Schulz > > > --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---