sicp

問題5.23-5.30

レジスタ計算機言語でがりがりとScheme評価器を作ります。 4章で使った抽象が役に立ちます。というかあれをもっと低いレベルに落としたのが積極評価機ぽいです。 4章のコードをそのままコピペして積極評価機を動かそうとすると、applyを書き換えていたので…

問題5.20-5.22 とばし

ここやりません。もうなんかあんまり覚えてないので。ガベージコレクションは読んで理解しました。とりあえず次は積極制御評価器に入ります。

問題5.18-5.19

生きてます。大学でverilog使った実験が面倒くさすぎてハード周りの話に嫌気がさしてしまい、 しばらくやる気がなくなってました。 最近またやる気が出てきたので、あとちょっと頑張ろうと思います。

問題5.14-5.17

シミュレータを作ると、設計したレジスタ計算機の正当性の評価だけではなく、性能の評価もできるよ、ということですね。続き。

問題5.12-5.13

久しぶりすぎて何やってたっけ状態です。 …、ああ、アセンブリ言語っぽいことをやってたんでした。最近大学で似たようなことやってるので食傷ぎみです。 あとデュアルディスプレイ環境入れたら、blog編集しながらScheme弄れたり、firefoxみながら何か書けた…

問題5.9-5.11

うーん、3月中に終わらせるとか言ったけどあれはなかったことにします。いやほんと別の用事がいろいろあって…;;; 続き。

問題5.4-5.8

レジスタ計算機続き。execute-machine-withは昨日の日記を見てください。

問題5.1-5.3

4章最後ごにょごにょしましたが終わったので、5章に入ります。なんかざっと眺めてみると5章最後の方もごにょごにょしそうです。 いつも通り先にシミュレータを作っておきます。超循環評価器より構造が楽ですね。extract-labelsで継続っぽいこともやってて面…

問題4.76できない

急に難しくなった。続き。

問題4.71-4.75

久しぶりに。Schemeはやっぱり楽しい。続き。

問題4.69-4.70

続きを。

問題4.58-4.68

質問言語続きです。

問題4.55-4.57

論理型プログラミングの例として質問言語を作ります。先に実装しておきました。 なお、実装の時の注意点で、execute手続きを作るときに使うuser-initial-environmentは処理系依存(MIT Schemeにある)みたいです。ググって他の方のを参考にするとinteraction-e…

問題4.52-4.54

amb評価器の続き。

問題4.50-4.51

amb評価器をいじります。

問題4.45-4.49

随分久しぶりで何やってたか思い出せないです。どうやら前回はamb評価器でパズルを解いてたみたいです。なので今回は次の自然言語の構文解析についてやります。

問題4.35-4.44

非決定計算です。パラレルワールドです。

問題4.32-4.34

遅延評価リストとストリームについて。

問題4.25-4.31

遅延評価のSchemeについてです。

問題4.22-4.24

何か今使ってる椅子が座る度に部品がぽろって欠けてくんですけど寿命なんでしょうか。どうでもいいですね。 構文解析を分離して、超循環評価機の効率を上げるみたいです。SICPのコードをそのまま移すとなぜかscan-out-definesでエラーになります。たぶんanal…

問題4.17-4.21

ちょっと丁寧にやりすぎかな。さくさく進めよう。

問題4.16

内部定義での束縛のあり方について。的な話。 問題4.19の例ですが、これを現在の超循環評価器で実行すると ;;; M-Eval input: (let ((a 1)) (define (f x) (define b (+ a x)) (define a 5) (+ a b)) (f 10)) ;;; M-Eval value: 16 という結果がでます。これ…

問題4.13-4.15

試験めんどくさい。そして寒い。 あ、続きです。

問題4.11-4.12

環境をいじります。

問題4.7-4.10

続きです。

問題4.4-4.6

続きです。

問題4.1-4.3

4章、超言語的抽象です。面倒くさそうです。 あと最近CTMCP(コンピュータプログラミングの概念・技法・モデル)を買いました。 すげー高かったです。お金なくなりました。 でもまたOn Lispが欲しくなってます。まずSICP終わらせろよ、って感じですが。

問題3.77-3.82

ストリームの続きです。 フィードバックループのあるシステムのストリームによるモデル化では、cons-streamの中に隠れたdelayだけでは表現できないので、別に明示的にdelayを使う必要がある、ということらしいです。たぶん。

問題3.73-3.76

全然毎日出来てないですが、とりあえずストリーム続きです。 信号処理をストリームでモデル化するようです。 しばらく別のことをやらなければならないので、飛び飛びの更新か、毎日1、2問の更新になるかもです。

問題3.70-3.72

少し間があきましたがストリーム続きです。