The parenscript compiler.lisp file has the functions ps-macroexpand-1 and ps-macroexpand . Unfortunately, they are not exported by the parenscript package. You can call them anyway using a double colon.
For instance,
(defpsmacro aif (test true &rest false) `(let ((it ,test)) (if it ,true ,@false))) (ps::ps-macroexpand-1 '(aif 3 it)) ;;=> (LET ((IT 3)) (IF IT IT)) T
brian source share