 Being able to do this is an advantage, and being able to prevent it from happening is also an advantage; consequently, Common Lisp supports both lexical and dynamic scope.A "macro" in Lisp superficially resembles a function in usage.However, rather than representing an expression which is evaluated, it represents a transformation of the program source code.