Makra to jeden z mechanizmów metaprogramowania – zbioru technik umożliwiających odczytywanie, tworzenie i modyfikowanie programów przez inne programy lub przez nie same. Są one jedną z charakterystycznych cech dialektów języka Lisp. Pozwalają przekształcać kod źródłowy programu zanim dojdzie do jego ewaluacji i stwarzać nowe konstrukcje składniowe. Dzięki nim jesteśmy w stanie nie tylko rozszerzać możliwości języka, ale nawet budować tzw. języki dziedzinowe, dostosowane do wyrażania specyficznych problemów i ich rozwiązań. read more →