かなり久しぶりに実践Common Lispを読んでいて、読んでいる。ということを記録しようと思いました。
今日は19章と20章を読んでいた。
19章はコンディションと再起動。
エラー時の処理が走る場所を確保するところと、実際の処理を定義する場所を分離できる。 どの処理を走らせるかを選択できる。と解釈しました。
signalあたりはちょっとわからなかった。signalが伝播していくなかで、errorやwarn、cerrorによって動きが違う。というところかな。
20章は特殊オペレータ
quote, if, prognは評価しない、評価結果で選択、複数を評価して最後の結果を使う。
letとlet*は変数の束縛で、fletとlabelsは関数の束縛。 fletは本体で自分自身を呼べず、labelsは呼べるので、後者は再帰を書ける。 これOn Lispでみたな。