Yeah, sorry, missed that. How does making the gensyms unreadable make things worse for macroexpand than they are in CL? If the gensym is used more than once in the expansion (like bound to something in a let then referenced), then reading the expansion back in will read two different symbols and it won't work anyway. If it doesn't get printed in reread it isn't a problem in either system. Or am I missunderstanding what you are saying?
* (defmacro result (e) (let ((g (gensym))) `(let ((,g ,e)) ,g))) * (result (+ 1 2)) 3 * (macroexpand-1 '(result (+ 1 2))) (LET ((#:G645 (+ 1 2))) #:G645) * (LET ((#:G645 (+ 1 2))) #:G645) ERROR -- 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