De acordo com a documentação do Emacs:
progn is a special form in `C source code'.
(progn BODY...)
Eval BODY forms sequentially and return value of last one.
- O que
progn
significa (ou sua origem)? - Uso: É equivalente a
Clojure
de->
macro?
progn
é um formulário especial emprestado de dialetos Lisp do tipo CL. Em suas implementações, é composto de vários prog
s, expressões que são avaliadas e um número que especifica qual valor de expressão é retornado. prog1
por exemplo, avalia todas as expressões e retorna o valor da primeira, prog2
avalia todas as expressões e retorna o valor da segunda, progn
avalia todas as expressões e retorna o enésimo, ou melhor, o valor da última expressão.
progn
no Emacs, Lisp é o equivalente ao Clojure, do
que é usado como meio para agrupar várias expressões em uma única. Você precisará usá-lo para as if
condições do Clojure, por exemplo.
cond
tem um implícitoprogn
.progn
na suaif
.prog1
eprog2
como formas especiais incorporadas.progn
?progn
é o equivalente a um bloco braced em um C-como a língua ...