Subscribed unsubscribe Subscribe Subscribe

@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

fletとlabelsは再帰できるかどうかが違う

かなり久しぶりに実践Common Lispを読んでいて、読んでいる。ということを記録しようと思いました。

今日は19章と20章を読んでいた。

19章はコンディションと再起動。

エラー時の処理が走る場所を確保するところと、実際の処理を定義する場所を分離できる。 どの処理を走らせるかを選択できる。と解釈しました。

signalあたりはちょっとわからなかった。signalが伝播していくなかで、errorやwarn、cerrorによって動きが違う。というところかな。

20章は特殊オペレータ

quote, if, prognは評価しない、評価結果で選択、複数を評価して最後の結果を使う。

letとlet*は変数の束縛で、fletとlabelsは関数の束縛。 fletは本体で自分自身を呼べず、labelsは呼べるので、後者は再帰を書ける。 これOn Lispでみたな。