Plaster

common-lisp
;;; I have some Lisp data that can change at runtime: USER> (defvar *foo* '(1 2 (3 4 5) 6)) *FOO* ;;; I can access it via PS*... USER> (ps:ps* `(ps:lambda () (ps:[] ,@*foo*))) "function () { return [1, 2, [3, 4, 5], 6]; };" ;;; ...but I don't know how to access it via PS and LISP... USER> (ps:ps (ps:lambda () (ps:lisp *foo*))) "function () { return 1(2, 3(4, 5), 6); };" ;;; ...unless I do runtime copying to vector. USER> (ps:ps (ps:lambda () (ps:lisp (coerce *foo* 'vector)))) "function () { return [1, 2, [3, 4, 5], 6]; };" ;;; Is there a way to achieve the above without COERCE? ;;; EDIT: found it: USER> (ps:ps (ps:lambda () (ps:lisp `',*foo*))) "function () { return [1, 2, [3, 4, 5], 6]; };"