Macro

Eine Besonderheit der Programmiersprache Lisp ist, dass Programme spezielle wohlgeformte Listen sind (siehe Liste). Und gerade für die Verarbeitung von Listen stellt Lisp ein reichhaltiges Angebot an Funktionen zur Verfügung.

Deswegen liegt es nahe, dass Lisp-Programme gelegentlich selbst Programmteile erstellen und sie dann ausführen. Zu diesem Zweck dienen Macros.

Macros sind Funktionen, die Lisp-Ausdrücke (also spezielle Listen) erzeugen und danach ausführen. Macros werden mit der Funktion mlambda oder dem Macro defmacro erzeugt.

Siehe auch anaphorisches Macro.