What are Macros?
Macros take lisp code as input and return lisp code as output. For example,
When evaluating: (incf x)
Evaluate this instead: (setf x (+ 1 x))
(defmacro incf (place)
(list 'setf place (list '+ 1 place)))
Previous slide
Next slide
Back to first slide
View graphic version