SICP 読み会 2022-05-17
ひさびさに。趣味で読み会してるときのメモ
前回の復習から
2.4 抽象データの多重表現
Motivation
手続きを抽象化したいが、抽象化はいくつも方法がある
いずれの方法が適切かはケースバイケースなので、選択できるのが好ましい
学ぶ内容
generic procedure
そのためのtype tag
data directedという戦略
2.4.1 複素数の表現
ゴール
複素数の算術演算を実行するシステムの開発
複素数の表現
順序付きの対で表現可能
z = x + iy
複素数の演算
Real-part(z1+z2) = Real-part(z1) + Real-part(z2)
Imaginary-part(z1+z2) = IMaginary-part(z1) + IMaginary-part(z2)
感想
HuffmanがどうやってHuffman木思いついたのか気になる
プログラミング言語がこの世に発明されておらず、前提知識も0という想定で解説がされていくので、プログラミングの発明者の思考過程を辿っているような感覚になる。楽しい。
SICPを読んでいる授業のリンク
https://www.fos.kuis.kyoto-u.ac.jp/~igarashi/class/pl15s/
最新の授業ではSICPは使われていなかった