3 ms·
Yep, "macros" can operate at any point during the compilation/interpretation process to transform the inputs. Generally speaking, the earlier on the more simpli
by tel 7y ago
Yep, "macros" can operate at any point during the compilation/interpretation process to transform the inputs. Generally speaking, the earlier on the more simplistic the structures and the less inferential products available. Also, the greater flexibility and power. Later on, early stages of compilation/interpretation will strip away information, simplify products, add inferential information, etc. These pieces can be made available to macro systems staged later on.
Lisp's most famous macros exist somewhat early in the compilation process, where trees have been parsed but variables aren't interpreted and the data structures are still simple.