使用哪種形式

在編寫擴充套件為可能涉及分組的表單的巨集時,花一些時間考慮擴充套件到哪個分組構造是值得的。

對於定義風格形式,例如,一個定義視窗小部件巨集,通常會顯示為頂級形式,那幾個 defun 函式 S, defstruct S 等,它通常是有道理的使用 progn 這個,讓孩子形式作為頂級表單處理。對於迭代表單,隱式標籤主體更常見。

例如, dotimesdolistdo 的主體都擴充套件為隱式標籤體

對於定義命名的程式碼塊的表單,隱式通常很有用。例如,雖然一個的主體 defun 定義 是一個隱式的內部 progn 這個,即隱式 progn 這個是一個塊共享功能的名稱內。這意味著 return-from 可用於退出函式。這樣的匹配