Menurut dokumentasi Emacs:
progn is a special form in `C source code'.
(progn BODY...)
Eval BODY forms sequentially and return value of last one.
- Apa
progn
kepanjangan dari (atau asalnya)? - Useage: Apakah setara dengan
Clojure
's->
makro?
progn
adalah bentuk khusus yang dipinjam dari dialek Lisp seperti CL. Dalam implementasinya terdiri dari beberapa prog
s, ekspresi yang dievaluasi, dan angka yang menentukan nilai ekspresi yang dikembalikan. prog1
misalnya mengevaluasi semua ekspresi dan mengembalikan nilai yang pertama, prog2
mengevaluasi semua ekspresi dan mengembalikan nilai yang kedua, progn
mengevaluasi semua ekspresi dan mengembalikan yang ke-n, atau lebih tepatnya, nilai ekspresi terakhir.
progn
dalam Emacs Lisp adalah setara dengan Clojure do
yang digunakan sebagai cara untuk menggabungkan banyak ekspresi menjadi satu. if
Misalnya, Anda harus menggunakannya untuk kondisi Clojure .
cond
memiliki implisitprogn
.progn
di dalamnyaif
.prog1
danprog2
sebagai bentuk khusus bawaan.progn
?progn
adalah setara dengan blok yang diperkuat dalam bahasa C-like ...