Seguinte: Avaliação de Macros Acima: Introdução à Linguagem Lisp Anterior: Parâmetros de Chave
Índice remissivo

Macros

Como referimos na apresentação da linguagem Lisp, existem certas formas da linguagem que não obedecem às regras de avaliação usuais. Essas formas designam-se formas especiais e o if é um exemplo. Cada forma especial possui a sua própria regra de avaliação. Vimos que, por isso, era impossível definir o if como se fosse uma função, pois todos os operandos (o teste, o consequente e a alternativa) seriam avaliados.

Embora a linguagem Lisp possua muitas formas especiais, é possível ``criar'' outras formas especiais através da utilização de macros. Uma macro é uma forma que a linguagem expande para outra forma, superando assim as dificuldades inerentes à avaliação dos argumentos que as funções realizam. Na realidade, Lisp possui muito poucas formas especiais reais. A grande maioria das formas especiais são implementadas através de macros, usando a forma especial defmacro cuja sintaxe é igual à da defun.





Copyright António Leitão, 1995