Thanks to previous answers on common lisp: how can a macro define other methods / macros with programmatically generated names? I have a macro that defines helper functions (actually I have a macro, my new favorite lisp is a new hammer). But there is something inside this macro that decides whether helper functions are needed in a particular argument. Thus, I have an if statement with almost identical branches - one branch at a time, I put, var in the list of lambda generated functions. Down another branch, I omit var. (I write DSL for non-programmers, so I donβt want them to see things like & optional)
Is there a way to avoid code duplication here? If I set var to ", then" "appears in the lambda list of my generated defuns. If I set var to nil, then NIL appears instead.
Is there a value that I can use so that var has absolutely no meaning at all, blinking from existence? (And philosophical interest, shouldn't there be one?)
source
share