2.9.1. progn und prog1
Progn ist nicht eigentlich eine Kontrollstruktur, sondern kennzeichnet einen Block von Ausdrücken, die sequentiell abgearbeitet werden. Der Wert des letzten Ausdrucks ist der Wert der gesamten progn Form.
Prog1 verhält sich wie Progn, jedoch evaluiert die Form zum Wert des ersten Ausdrucks.
;;; Unterschied zwischen progn und prog1: (let ((i 5)) (progn i (incf i))) ;;; -> 6 (let ((i 5)) (prog1 i (incf i))) ;;; -> 5