According to Paul Graham's On Lisp, macroexpanders should be purely functional, and you should not count on how often a macro gets expanded. This seems like a reasonable restriction for Clojure too. However, Chouser posted an example that shows the expansion of proxy does have a side effect [2].
Should macros written by ordinary mortals follow PG's rule? If not, should this be listed as a difference from other Lisps at [3]? Stuart [1] http://www.paulgraham.com/onlisp.html. Free download, see discussion in 10.3. [2] http://paste.lisp.org/display/72406 [3] http://clojure.org/lisps --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---