sicp
レジスタ計算機言語でがりがりとScheme評価器を作ります。 4章で使った抽象が役に立ちます。というかあれをもっと低いレベルに落としたのが積極評価機ぽいです。 4章のコードをそのままコピペして積極評価機を動かそうとすると、applyを書き換えていたので…
ここやりません。もうなんかあんまり覚えてないので。ガベージコレクションは読んで理解しました。とりあえず次は積極制御評価器に入ります。
生きてます。大学でverilog使った実験が面倒くさすぎてハード周りの話に嫌気がさしてしまい、 しばらくやる気がなくなってました。 最近またやる気が出てきたので、あとちょっと頑張ろうと思います。
シミュレータを作ると、設計したレジスタ計算機の正当性の評価だけではなく、性能の評価もできるよ、ということですね。続き。
久しぶりすぎて何やってたっけ状態です。 …、ああ、アセンブリ言語っぽいことをやってたんでした。最近大学で似たようなことやってるので食傷ぎみです。 あとデュアルディスプレイ環境入れたら、blog編集しながらScheme弄れたり、firefoxみながら何か書けた…
うーん、3月中に終わらせるとか言ったけどあれはなかったことにします。いやほんと別の用事がいろいろあって…;;; 続き。
レジスタ計算機続き。execute-machine-withは昨日の日記を見てください。
4章最後ごにょごにょしましたが終わったので、5章に入ります。なんかざっと眺めてみると5章最後の方もごにょごにょしそうです。 いつも通り先にシミュレータを作っておきます。超循環評価器より構造が楽ですね。extract-labelsで継続っぽいこともやってて面…
急に難しくなった。続き。
久しぶりに。Schemeはやっぱり楽しい。続き。
続きを。
質問言語続きです。
論理型プログラミングの例として質問言語を作ります。先に実装しておきました。 なお、実装の時の注意点で、execute手続きを作るときに使うuser-initial-environmentは処理系依存(MIT Schemeにある)みたいです。ググって他の方のを参考にするとinteraction-e…
amb評価器の続き。
amb評価器をいじります。
随分久しぶりで何やってたか思い出せないです。どうやら前回はamb評価器でパズルを解いてたみたいです。なので今回は次の自然言語の構文解析についてやります。
非決定計算です。パラレルワールドです。
遅延評価リストとストリームについて。
遅延評価のSchemeについてです。
何か今使ってる椅子が座る度に部品がぽろって欠けてくんですけど寿命なんでしょうか。どうでもいいですね。 構文解析を分離して、超循環評価機の効率を上げるみたいです。SICPのコードをそのまま移すとなぜかscan-out-definesでエラーになります。たぶんanal…
ちょっと丁寧にやりすぎかな。さくさく進めよう。
内部定義での束縛のあり方について。的な話。 問題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章、超言語的抽象です。面倒くさそうです。 あと最近CTMCP(コンピュータプログラミングの概念・技法・モデル)を買いました。 すげー高かったです。お金なくなりました。 でもまたOn Lispが欲しくなってます。まずSICP終わらせろよ、って感じですが。
ストリームの続きです。 フィードバックループのあるシステムのストリームによるモデル化では、cons-streamの中に隠れたdelayだけでは表現できないので、別に明示的にdelayを使う必要がある、ということらしいです。たぶん。
全然毎日出来てないですが、とりあえずストリーム続きです。 信号処理をストリームでモデル化するようです。 しばらく別のことをやらなければならないので、飛び飛びの更新か、毎日1、2問の更新になるかもです。
少し間があきましたがストリーム続きです。