Defining Macros in Lisp
Extensibility: A language is extensible if the language can be extended.
New Lisp control structures can be created using macros. Common Lisp’s macros are uniquely powerful, and warrant special attention.
A macro form is evaluated in a special way:
First the macro form is expanded by applying the macro-expansion function (given in the definition) to the arguments.
Then the resulting expression is evaluated again.