2010-03-15から1日間の記事一覧

SICP問題4.7

2010/03/17 evalでlookup-variable-valueのトコが間違ってたので修正 2010/03/16 4.9のmake-named-letに合わせてmake-letを修正問題のlet*式の例 (let* ((x 3) (y (+ x 2)) (z (+ x y 5))) (* x z)) ; 39 これは以下のようなletに書き換えることが可能である…

SICP問題4.6

2010/03/17 evalでlookup-variable-valueのトコが間違ってたので修正let式が (let ((<var1> <exp1>) ... (<varn> <expn>)) <body>) lambda式 ((lambda (<var1> ... <varn>) <body>) <exp1> ... <expn>) のsyntax sugarであることから、変換let->combinationを実装し、let式が使えるようevalに適当な節を追加する。 let関連</expn></exp1></body></varn></var1></body></expn></varn></exp1></var1>…

SICP問題4.5

cond節のもう一つの構文(=>) が真の値に評価されると、が評価される。 その値は一引数の手続きでなければならない この手続きは次にの値に対して呼び出され、その結果がcond式の値として返る。 (例) (cond ((assoc 'b '((a 1) (b 2))) => cadr) (else #f)) …

SICP問題4.4

2010/03/17 evalでlookup-variable-valueのトコが間違ってたので修正 and: 式を左から右へ評価する。ある式が偽に評価されたら偽を返す;残りの式は評価しない。全ての式が真に評価されたら、最後の式の値を返す。式が一つもなければ真を返す or: 式を左から…

SICP問題4.3

2010/03/17 evalでlookup-variable-valueのトコが間違ってたので修正元のeval (define (eval exp env) (cond ((self-evaluating? exp) exp) ((variable? exp) (lookup-variable-value exp env)) ((quoted? exp) (text-of-quotation exp)) ((assignment? exp)…

SICP問題4.2

2010/03/17 evalでlookup-variable-valueのトコが間違ってたので修正 a. cond節の順序で手続き作用の節(application?)が代入の節(assignment?)の前に現れるようにすると、いろいろな式が手続き作用として扱われてしまう。ヒントとしてあげられている(define …

今日の夕飯

肉団子とカリフラワー炒め 鶏肉のチリソース炒めとベビーリーフ 豆腐煮 鶏肉のチリソース炒めとベビーリーフは妻作。肉団子とカリフラワー炒めの作り方 豚挽き肉にクレージーソルト,砂糖を混ぜて練る フライパンにオリーブオイルをしいて鷹の爪,潰したニンニ…