非決定計算です。パラレルワールドです。
遅延評価リストとストリームについて。
遅延評価の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問の更新になるかもです。
少し間があきましたがストリーム続きです。
ストリーム続きです。
ストリームの続きです。
今回からストリームを扱います。
とりあえず本の紹介だけしておきます。 SICPというのはStructure and Interpretation of Computer Programsの略称で、 日本語では『計算機プログラムの構造と解釈』と呼ばれる本のことです。 表紙から、魔術師本、紫本などと呼ばれるそうです。MITで昔教科書…
代入を導入したことでプログラムに時の概念を与えることができるようになりましたが、並列システムでは少し問題があります。 ということで、問題3.38以降は並列システムでの時に対する正しいプログラムの振る舞いについてです。
今回はデジタル回路のシミュレーションと、制約システムの作り方です。 制約システムは4章でやる論理プログラミングに関わるような印象を受けます(関係ないかもしれないですが)。
3.26(後) 一個前のエントリの続きです。 今回は表の中の二進木の構造を、バランス木として保持するように変更します。 バランス木として保持しないと、木の深さが表の深さと同じになってしまったりした場合に計算量がリストで保持している時と同じになってし…
3.26(前) 3.24や3.25は順序づけられていないリストなので、表が巨大になると効率が悪いかもしれない。 キーが順序集合上の要素であるという条件のもとで、二進木を使って表を実装することを考える。 3.24や3.25の表では、各テーブルのcdrは表の先頭を指して…
二次元表、多次元表の実装です。
3.21-3.23はqueueの実装です。set-car!とset-cdr!を使って実装できます。 例のごとく構成子と選択子を作って実装します。 構成子とか選択子とかの考え方はコードを分かり易くするし、便利な考え方だと思います。
実は3章までやってあるので、途中から始めます。 今日は問題3.5-3.20を飛ばしつつやりました。
SICPがはかどらないので、 今日からblogにできるだけ毎日やったことを書きます。 来年3月くらいまでは頑張ります。