Macro With-Variables

Part of:

Using gensyms is necessary to prevent variables produced by macro expansionsfrom interfering with user variables, and naming them mnemonically helps makemacro expansions and compiled code easier to read, but it's a pain to createthem properly. This macro creates them for you, which makes writing nice macroseasier. For example, if you are writing a macro to iterate over an array, youused to have to write: