2008-06-29から1日間の記事一覧

問題4-25〜26

「4.2 Schemeの変形 --- 遅延評価」に入りました。自前評価器を機能拡張していきます。こういうことができると、その機能を低水準言語やハードウェアに実装する前に、その動きを自前評価器を使ってシミュレーションすることができるということが冒頭に述べられ…

問題4-27〜28

「4.2.2 遅延評価の解釈系」では、合成手続きの引数は実際に必要とされるまで評価しない、ノンストリクトな正規順序的処理を行なうように自前評価器を改良します。applyの中で、procedureが合成手続きだったならば、渡された実引数にdelay-itしてthunk?という…

問題4-29

この問題では、メモ化するのとしないのとで、振る舞いがどう変わるかを調べます。下記のような定義が存在していて、 (define count 0) (define (id x) (set! count (+ count 1)) x) (define (square x) (* x x)) メモ化をしない場合は、 (square (id 10)) ;=…