Lisp”本書によれば、ここから第10章までが、マクロの基礎講座。マクロと異なりますが、まずは、同じ点から引数は、評価されずに展開される。共に、これが、関数とマクロの最大の違いでしょう。マクロは、マクロ本体で評価したもの(通常は式)を返し、マクロが呼び出された場所で、再び評価される。(つまり、マクロ内とマクロ外とで、評価が2回ある。マクロは、マクロ内で評価されたものを返す。マクロ内の評価は、引数として与えられた(評価されていない)式を変形するという意味です。マクロ外の評価は、変形された式を文字通り評価することです。マクロの理解にてこずりました。いうの2回目の評価が無いということ。この違いを例で見てみましょう。Lisp”本書の例をそのまま、newLISPに当てはめたものです。x))nilとなります。割り当てられ、設定されたのかどうかわからないので、動作を確認する前に、変数に初期値を入れています。本体で評価された結果出来た式が現れています。