Laut Emacs-Dokumentation:
progn is a special form in `C source code'.
(progn BODY...)
Eval BODY forms sequentially and return value of last one.
- Wofür
progn
steht (oder woher)? - Verbrauch: Ist es äquivalent zu
Clojure
‚s -->
Makro?
progn
ist eine spezielle Form, die aus CL-ähnlichen Lisp-Dialekten entlehnt wurde. In ihren Implementierungen besteht es aus mehreren prog
s, ausgewerteten Ausdrücken und einer Zahl, die angibt, welcher Ausdruckswert zurückgegeben wird. prog1
Beispielsweise werden alle Ausdrücke ausgewertet und der Wert des ersten zurückgegeben, prog2
alle Ausdrücke ausgewertet und der Wert des zweiten zurückgegeben, progn
alle Ausdrücke ausgewertet und der n-te bzw. der letzte Wert des Ausdrucks zurückgegeben.
progn
in Emacs ist Lisp das Äquivalent von Clojure's, do
das verwendet wird, um mehrere Ausdrücke zu einem einzigen zu bündeln. Sie müssen es beispielsweise für Clojures if
Bedingung verwenden.
cond
hat ein implizitesprogn
.progn
hatif
.prog1
undprog2
als Sonderformen eingebaut.progn
?progn
ist das Äquivalent eines geschweiften Blocks in einer C-ähnlichen Sprache ...