How Lisp macros differ from static code-generation and metaprogramming · HackerTrans