2015-06-01から1ヶ月間の記事一覧
「§4.3 Schemeの変形---非決定性計算」に入りました。 最初はテキストの内容の全貌が掴めず、サンプルコードをロードしてambを叩きまくっていたのですが、だんだん何がわからないかが頭の中で整理できてきました。 →ambの振る舞いがどういうことなのかわから…
遅延評価器では手続きの引数が全て遅延されるので、consセルをcompound procedureとして定義すれば、リストとストリームは同義となる。 consの手続きは§2でも出たあれだ。 (define (cons first rest) (lambda (pair) (pair first rest))) (define (car pair)…
前節の正規順序による評価を実現するために、Scheme評価器に遅延評価を組み込みます。 ソースコードはGitHubに置いています。 https://github.com/uents/sicp/tree/master/ch4.2-lazy-evaluator thunkとは? thunk(サンク)とは遅延評価オブジェクトそのもの…
「§4.2 Schemeの変形---遅延評価」から。 §4.1の超循環評価器に遅延評価を組み込んでいきます。 正規順序と作用的順序 よくごっちゃになるので整理。 作用的順序 (applicative order) 手続きを作用させるときに、引数をすべて評価する この手続きは引数に対…
久しぶりの更新です。 恐ろしいことにSICPを読み始めて1年が経ってしまいました。ここの進みの遅さ。激しく自省。。 特にサボっていたわけではなく、§4.3の非決定性計算を読んでいるうちに継続と戯れていたらこっちの更新が滞ってしまってました。継続の概…