SICP

SICP を読んでみる #68 第二章 pp.109-110

問題解答

問2.74
パス

本文

メッセージパッシング

手続き名毎に内部で実際に呼び出す処理を振り分ける。

データを生成すると実態は手続きが帰ってきて、そのデータ(手続き)に対して必要な演算の名前を渡すことで必要な結果を得ることができる

問題解答

問2.75
手の運動なのでパス。

問2.76
汎用演算 :
型・演算の追加共にシステム全体に対して影響を及ぼす。

データ主導流 :
新しい型が追加された場合に、その型に対応したパッケージを用意する。新しい演算が追加された場合、全てのパッケージに対して新しい演算を定義する。そのため、型の追加に対しては全体への影響は少ないが演算の追加に対してはシステム全体に影響を及ぼす。

メッセージパッシング流 :
新しい型が追加された場合に、全てのパッケージに対して新しい型を定義する。新しい演算が追加された場合、その演算に対応した手続きを定義する。そのため、型の追加に対してはシステム全体に影響を及ぼすが、演算の追加に対してはシステム全体に影響が少ない。

ここまで来たけど、イマイチ用語が肌に馴染んでいない感がある。構成子とかパッケージとか演算とか、SICP 的な用語の感覚が何だか曖昧。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です