LISP表达式列表

时间:2012-11-20 21:37:50

标签: macros lisp

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

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

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

有没有办法在不使用do循环的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

你想要

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

虽然这只是为progn本身定义了一个同义词。