Plaster

common-lisp
(defmacro foo (x) (handler-case (eval x) (error () ''x))) ; => FOO (parachute:fail-compile (lambda () (foo y))) ; => #<UNBOUND-VARIABLE Y {100469B1B3}> (compile nil '(lambda () (foo y))) ; => #<FUNCTION (LAMBDA ()) {5392CD3B}>, NIL, NIL