(wat-aro)

生きてます

2015-12-18から1日間の記事一覧

SICP 問題 4.05

make-ifに渡す前にclauseをpredicateとactionにわかる. (car action)に'=>があれば(cadr action)にpredicateを適用する. (define (expand-clauses clauses) (if (null? clauses) 'false ;; else 説は無い (let ((first (car clauses)) (rest (cdr clauses)…

SICP 問題 4.04

;; and (define (and? exp) (tagged-list? exp 'and)) (define (and-clauses exp) (cdr exp)) (define (eval-and exp env) (let iter ((clauses (and-clauses exp))) (if (null? clauses) 'true (let ((first (eval (car clauses) env))) (cond ((null? (cdr…

SICP 問題 4.03

;; evalをデータ主導スタイルに書き換える. ;; 本文で定義されたeval (define (eval exp env) (cond ((self-evaluating? exp) exp) ((variable? exp) (lookup-valiable-value exp env)) ((quoted? exp) (text-of-quotation exp)) ((assignment? exp) (eval-…

SICP 問題 4.02

;; 本文のeval (define (eval exp env) (cond ((self-evaluating? exp) exp) ((variable? exp) (lookup-valiable-value exp env)) ((quoted? exp) (text-of-quotation exp)) ((assignment? exp) (eval-assignment exp env)) ((definition? exp) (eval-defini…