(wat-aro)

生きてます

2016-01-09から1日間の記事一覧

特殊形式は高階手続きと一緒に使うことができない

手続きは引数を全て評価してoperatorに渡す. 特殊形式は引数を全て評価するとは限らない. ここではdefineについて見てみる. defineは第1引数は評価せず,第2引数を評価した値を第1引数に束縛する. (define x (+ 1 2)) (+ 1 2) 3 (define x 3) x 3 次…

SICP 問題 4.31

(define (f a (b lazy) c (d lazy-memo)) ...) といった形で部分的に遅延評価やメモ化する遅延評価を実装する. 元となるのは4.30までで作っていた遅延評価器. まず変更した部分を書く. ;; メモ化する評価器 (define (force-it obj) (cond ((thunk? obj) (…