3 ms·
I think his argument is actually that the extreme simplicity of defining a macro in CL hides the fact that writing correct macro code isn't very simple. Using
by jlarocco 2y ago
I think his argument is actually that the extreme simplicity of defining a macro in CL hides the fact that writing correct macro code isn't very simple. Using gensyms to create bindings in macros is an example - it's not obvious, but often critical for getting macros to behave nicely. Things like accidently capturing variables, multiple evaluation, etc. make "real world" macros difficult to write. Not insurmountable, of course, but more difficult than just basic list processing.
Ideally that has no impact on how easy it is to use a macro, except to the extent a bug would make the macro hard to use.