ずっと5章に興味が持てなくてほったらかしにしていたのだけど、読み始めた。5章は毛色が違うように感じてたのと、単に関数型言語が知りたいだけだったら3章までで満足できて、計算機の話って何が面白いんだろうか?なんて思ってたのだけど、(僕の場合)以下のような道のりを経て5章にたどり着いた。
EsoteicでVMとかエミュレータみたいなもんに興味がわいた。あと中間言語
プログラミングの力を生み出す本
Cのプログラムをアセンブリから眺めてみる。レジスタとかメモリとか意識できるようになった。
CPUの創りかた
4bitCPUつくる。半加算器とか全加算器が論理回路でつくれるとかそういう話は楽しい。
SICP5章
という長い道のりを経て、やっとSICP5章。
数日かけてバグとって、実際にGCDマシンが動いた時にはかなり感動。
gosh> (set-register-contents! gcd-machine 'a 206)
done
gosh> (set-register-contents! gcd-machine 'b 40)
done
gosh> (start gcd-machine)
done
gosh> (get-register-contents gcd-machine 'a)
2
デバッグしながら中身の動きが理解できた。