第52回 素人くさいSICP読書会(at 赤坂某所)
- なぜ各パッケージにraiseを定義してはダメなのかをhisaさんに延々と説明してもらった。オレ、頭悪いなあ
- 各パッケージに定義しちゃうと直さなきゃならない個所がちらばってて大変。そもそもパッケージをいじるのはイクない
- get/put-coercionを使うと加法的に変換処理を追加できるから、コードの書き換えによるバグ発生の危険を減らせる、と
- 塔のリストからの自動生成にこだわって、「変換の実装は2引数の型から人間が判断するしかない」ということが理解できてなかった
- で、結局、raiseを書き直し。ごく簡単な処理なのに、エラーばっかりでえらく手間がかかった。てんぱってたらしい
- 2引数の演算しか動かないとかいろいろとダメなコードだけど、一応ここに2.84の自分の解答を貼っとく
- あとから考えるとなんかDIっぽい話だな
- このあたりはつまんないからと飛ばす人が多いみたいだけど、設計の話はそれなりに重要じゃないかと思う
- あ、get-coercionのエラー処理忘れてた。今、気付いた