14 Макросов

Макросы позволяют вам определять новые конструкции управления и другие языковые особенности. Макрос определяется очень похоже на функцию, но вместо того, чтобы указывать, как вычислить значение, он указывает, как вычислить другое выражение Lisp, которое, в свою очередь, вычислит значение. Мы называем это выражение расширением макроса.

Макросы могут делать это потому, что они оперируют невычисленными выражениями аргументов, а не значениями аргументов, как это делают функции. Поэтому они могут создавать расширение, содержащее эти выражения аргументов или их части.

Если вы используете макрос для выполнения того, что могла бы сделать обычная функция, просто ради скорости, рассмотрите использование встроенной функции. См. Встроенные функции.