prog1 prog2 progn

CL-USER> (prog1
         (+ 1 2)
       (+ 2 3)
       (+ 3 4))
3
CL-USER> (prog2
         (+ 1 2)
         (+ 2 3)
       (+ 3 4))
5
CL-USER> (progn
       (+ 1 2)
       (+ 2 3)
       (+ 3 4))
7
CL-USER>

区别(摘自http://www.emacswiki.org/emacs/EmacsLispManual_Chinese_Notes#toc400):

progn forms...

                这个特殊的表格执行所有表格 FORMS, 按自然顺序.
                并返回最后表格的结果.

prog1 form1 forms...

                这个特殊的表格执行所有表格, 按自软顺序.
                返回 FORM1 的结果.

prog2 form1 form2 forms...

                这个特殊的函数和 `prog1' 类似, 但是返回 FORM2 的结果.
原文地址:https://www.cnblogs.com/flowjacky/p/2842693.html