Macros LISP表达式列表

Macros LISP表达式列表,macros,lisp,Macros,Lisp,我有一个表达式列表,我希望在宏中按顺序计算这些表达式,并返回最后一个表达式的值。我尝试过这个,但编译器不喜欢它: (defmacro foo lst-of-exprs ',@lst-of-exprs) 及 有没有一种不用do循环的方法可以做到这一点 (defmacro foo lst-of-exprs `(progn ,@lst-of-exprs)) 虽然这实际上只是定义了progn本身的同义词。“编译器不喜欢它”这意味着什么?您打算如何使用宏?它与progn有何不同?您能给出错误

我有一个表达式列表,我希望在宏中按顺序计算这些表达式,并返回最后一个表达式的值。我尝试过这个,但编译器不喜欢它:

(defmacro foo lst-of-exprs
  ',@lst-of-exprs) 

有没有一种不用do循环的方法可以做到这一点

(defmacro foo lst-of-exprs
  `(progn ,@lst-of-exprs))

虽然这实际上只是定义了
progn
本身的同义词。

“编译器不喜欢它”这意味着什么?您打算如何使用宏?它与progn有何不同?您能给出错误消息吗?
(defmacro foo lst-of-exprs
  `(progn ,@lst-of-exprs))