(continuing from
>>15)
Macros are meta-programming, by definition as code that creates code. Meta-programming is a way to create abstractions, though not the only one. Therefore, macros address both.
Quotation is not abstraction, nor meta-programming. It is simply a tool for managing data structures and capturing source code.
Fexprs cannot perform meta-programming, because they do not programmatically generate programs, but rather calculate direct non-meta results of expression evaluation. Fexprs cannot be used compositionally with other source-manipulating constructs except as a leaf. Hence it can only perform the shallowest form of both abstraction and meta-programming, arguably a degenerate form that would not earn those descriptions in the first place.
Fexprs are shit, and Shutt's raging boner for them is a banner proclaiming his stupidity. There's a reason Lispers stopped using them decades ago.