Four basic ways to use macros in Common Lisp: to circumvent the regular call-by-value semantics, to introduce new syntax to the language, to implement tiny languages within CL, and to run code in a special context. #lisp
#lisp