Существует очевидное:
(loop (print (ps:ps* (read))))
Но я предпочитаю иметь форму, которую я могу редактировать в буфере, и просто macroexpand-1
(C-c ret
на открытии) :
(defmacro js-func (name &body body)
(let ((code (ps* `(progn ,@body))))
`(defun ,name ()
,code))))