>>248
Q1. スコープ外なのに見えるのはなんで? という疑問な場合
A1. それは func 自体は let の内側にあるからです.外部からはどうやっても temp の値を
操作する事はでませんが,func を通じて見る事だけはできます.

というレベルなのか

Q2. let が終った瞬間に temp って消えちゃうんじゃないの?(← C 的思考)
A2. Lisp では変数のスコープ(見える範囲)とエクステント(生存期間)はそれぞれ独立した概念です.
let の範囲内(lexical)でしか temp は参照できませんが temp そのものは生存期間は func と同じ
です.この例だと func の定義が上書きされてこの func の定義が不要になったときに temp は GC に
回収されるでしょう.
もちろん C のようにスタック上に変数領域を確保してスコープの終了と同時に自動的に消えるという変数も
コンパイラに指定する事はできます.ただしフリーの実装でこの機能(dynamic-extent)を安定して使える
コンパイラは少ないですので初心者にはお勧めできません.(CMUCL にはおそらく次のリリースで載ります
がまだ危険です! デフォルトで off になってます)

なのか解説者の力量不足でわかりません.どっちでしょう?