プログラミング再入門

プログラミングをもう一度ちゃんと勉強する読書ノート

2014-07-01から1ヶ月間の記事一覧

SICP 5.2.1 The Machine Model

ここからはシミュレータの解説。モデルとしては完全にオブジェクト指向的。 ノート make-machineではメッセージパッシングに応答する手続きを作る。つまりメソッドを持ったオブジェクト。実際にはmake-new-machineがオブジェクトを作り、make-machineではそ…

SICP 5.2 A Register-Machine Simulator

いよいよ本題な感じ。 ノート Exercise 5.7 実装してみないことには何も分からないので、先の節の実装を写経してシムレータを作成してから実行してみる。 Racketではペアはimmutableでset-cdr!は使えないので、instructionのペアのメソッドを以下の様にmpair…

SICP 5.1.3 Subroutines

ノート 昔懐かしいBASICの世界。共通部分を括り出す。 括り出すステップ: それぞれのGCD計算部分の先頭にgcd-1、gcd-2のラベル、GCD計算部分を抜けた所にafter-gcd-1、after-gcd-2のラベルをつけている状態 レジスタはGCDの計算区間でしか使用しないので共…

SICP 5 Computing with Register Machines

ノート プログラムの実行環境についてsubstitution model、environment model、metacircular evaluatorと見て来たが、一番核心の部分はベースのLispシステムに委ねて解説されていない。この章ではプロセッサとそのマシン語に相当するレジスタ・システムをLis…