2008-09-16から1日間の記事一覧

exercise 4.22~24

ex4.22 analyzeにlet->combninationを加えるだけ (define (let? exp) (tagged-list? exp 'let)) (define (let->combination exp) (let ((bindings (cadr exp))) (cons (make-lambda (map car bindings) (cddr exp)) (map cadr bindings)))) ;;analyzeに以下…

夏休みが終わる前に・・・

今のペースだと4章はどうにかならんこともなさそうだが、5章は無理ゲーすぎる。 というか他にもなんかやりたいし、あと後期に向けて語学の復習とか数学とかもしたい。でもってバイトも考えたい。 とか考えるとやってられんのだが、とりあえず今はリトバスをs…

exercise 4.19~21

ex4.19 ・・・実行順序、というかdefineの書く順番を変えれば、それっぽく動かすことも時にはできるだろうが、一般的な手法は私にはさぱーりです・・・。 ex4.20 a (define (letrec-bindings exp) (cadr exp)) (define (letrec-body exp) (cddr exp)) (defin…

exercise 4.18

続き ex4.18 やってみる前に解答。 4.18の例だと、dyの定義時にyが*unassigned*でエラー。 ようするに、この例だと、内部定義を相互に行えないというかなんというか。まぁということで実行してみるか。 まず、delayとかの準備 (define (delay-exp exp) (cadr…