parenscript 的宏展开
Macroexpand for parenscript
对于 parenscript 宏,是否有等同于 macroexpand 或 macroexpand-1 的东西?执行 (ps (some macro expression))
将显示生成的 javascript,但有时在转换为 javascript.
之前看到 parenscript 会很好
在parenscript的compiler.lisp
文件中,有函数
ps-macroexpand-1
和 ps-macroexpand
。不幸的是,它们不是由 parenscript 包导出的。您仍然可以使用双冒号调用它们。
例如,
(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
对于 parenscript 宏,是否有等同于 macroexpand 或 macroexpand-1 的东西?执行 (ps (some macro expression))
将显示生成的 javascript,但有时在转换为 javascript.
在parenscript的compiler.lisp
文件中,有函数
ps-macroexpand-1
和 ps-macroexpand
。不幸的是,它们不是由 parenscript 包导出的。您仍然可以使用双冒号调用它们。
例如,
(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