理系学生日記

おまえはいつまで学生気分なのか

問題2-77 (2.5.1 Generic Arithmetic Operations)

(magnitude z)から、(apply-generic 'magnitude z)が呼ばれる。
apply-genericはzのcomplexタグによって、complexパッケージを選ぶ(ここでcomplexタグが外される)。
apply-genericがもう一回呼ばれ、zのrectanglarタグによって、rectanglarパッケージを選ぶ(ここでrectanglarタグが外される)
タグが外されたデータに対してmagnitudeが計算される(終)

な感じかしら。
apply-genericまだよく分からない。。タグがついているデータに対しては、パッケージ選択してタグを外す、タグがついてないデータに対してはそのパッケージにデータを渡すって解釈でいいのかな。


問題の動かなかった理由は、complexパッケージにおいてmagnitudeが定義されておらず、それからどうするかがapply-genericには分からなかったから。

追記

apply-genericって前に出てたのか。SICPちゃんと話繋がってるな。そしてぼく、全部忘れてるな。