【发布时间】:2015-04-11 22:10:23
【问题描述】:
我正在尝试编写一个宏,它可以让我在一个表达式中简化多个顶级变量的定义。
我们的想法是让它的工作方式类似于let 的工作方式:
(defparameters ((*foo* 42)
(*bar* 31)
(*baz* 99)))
我尝试使用以下方法,但它似乎没有做任何事情。
(defmacro defparameters (exprs)
(dolist (expr exprs)
(let ((name (car expr))
(exp (cadr expr)))
`(defparameter ,name ,exp))))
我尝试过使用macroexpand,但它似乎根本没有扩展。
我做错了什么?我该如何解决?
【问题讨论】:
标签: macros common-lisp