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
-~----------~----~----~----~------~----~------~--~---

Reply via email to