2016-01-09から1日間の記事一覧
手続きは引数を全て評価してoperatorに渡す. 特殊形式は引数を全て評価するとは限らない. ここではdefineについて見てみる. defineは第1引数は評価せず,第2引数を評価した値を第1引数に束縛する. (define x (+ 1 2)) (+ 1 2) 3 (define x 3) x 3 次…
(define (f a (b lazy) c (d lazy-memo)) ...) といった形で部分的に遅延評価やメモ化する遅延評価を実装する. 元となるのは4.30までで作っていた遅延評価器. まず変更した部分を書く. ;; メモ化する評価器 (define (force-it obj) (cond ((thunk? obj) (…