3 ms·
I was thinking specifically of unintentional variable capture causing name collisions in non-hygienic Common Lisp macros. While people can certainly write macro
by silentbicycle 18y ago
I was thinking specifically of unintentional variable capture causing name collisions in non-hygienic Common Lisp macros. While people can certainly write macros correctly and avoid them, this takes experience, and minor mistakes can introduce some really subtle bugs.
[edit: noted that I'm talking specifically about Common Lisp]
- arohner 18y agoIn Scheme, it's basically impossible to write a non-hygienic macro, and in Clojure, there are no name collisions and it takes extra work to variable capture.
- deleted 18y ago[deleted]
- gruseom 18y agoOh, that. That is one of those problems people talk about but no one has. While people can certainly write macros correctly and avoid them, this takes experience No, it doesn't. It's trivial to call gensym. Edit: I'm not saying that CL's way is the best, just that this question gets way more attention than it deserves.