RosettaCodeData/Task/Function-definition/Common-Lisp/function-definition-2.lisp
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

4 lines
190 B
Common Lisp

(define-compiler-macro multiply (&whole expr a b)
(if (and (constantp a) (constantp b))
(* (eval a) (eval b))
expr)) ;; no macro recursion if we just return expr; the job is done!