我了解到在Scheme中使用可以轻松定义小型宏。
是否有可能定义一个宏,其返回的列表可以被Common Lisp中的读取?
可能会像这样工作:
可能会像这样工作:
(defmacro and (&rest rest)
(syntax-rules (rest) ()
((_) t)
((_ x) x
((_ x y) (if x (if y y nil) nil))
((_ x y ...) (if x (and y ...) nil))))
boundp
只适用于全局变量。你不会知道哪个变量要gensym,哪个引用词法绑定。 - Sylwester