; SBCL * (defmacro plus (&rest args) (cons #'+ args)) PLUS * (plus 1 2 3) ; in: PLUS 1 ; (#<FUNCTION +> 1 2 3) ; ; caught ERROR: ; illegal function call ; CLISP [1]> (defmacro plus (&rest args) (cons #'+ args)) PLUS [2]> (plus 1 2 3) *** - EVAL: #<SYSTEM-FUNCTION +> is not a function name; try using a symbol instead ; Racket > (eval (list '+ 1 2)) 3 > (eval (list + 1 2)) 3