如何评估传递到Parenscript中的ps宏的代码?
(let ((x 1))
(format nil "~a" (parenscript:ps x)))
;; => "x;" but I would like "1;"我知道ps是一个宏,这是不求值的原因,但是如何才能将代码求值以传递给ps宏呢?
发布于 2020-09-17 15:05:51
使用ps:lisp的示例
(let ((x 1))
(format nil "~a" (ps:ps (ps:lisp x))))
"1;"它在文档的第一部分进行了介绍:https://common-lisp.net/project/parenscript/reference.html#section-ps-compiler
发布于 2020-09-17 00:06:38
我明白了:
(defmacro lisp-to-js (lisp)
(eval ``(parenscript:ps ,,lisp)))
(let ((x 1))
(format nil "~a" (lisp-to-js x)))
;; => "1;"https://stackoverflow.com/questions/63923472
复制相似问题