2008-05-17から1日間の記事一覧

問題 2.6

(define zero (lambda (f) (lambda (x) x))) (define (add-1 n) (lambda (f) (lambda (x) (f ((n f) x))))) ;これは問題のいみがわからないが、たぶん関数を作用させる数なんだろう。 ;よってone,twoの定義は (define one (lambda (f) (lambda (x) (f x)))) …

問題 2.5

;やべー、これは問題の日本語が意味わからない。 ;とりあえず、自分の問題解釈でとく (define (pow x y) (define (pow-iter x y p) (if (<= y 0) p (pow-iter x (- y 1) (* p x)))) (pow-iter x y 1)) (define (cons a b) (* (pow 2 a) (pow 3 b))) (define …

問題 2.4

(define (cons x y) (lambda (m) (m x y))) (define (car z) (z (lambda (p q) p))) ;(car (cons x y))->xになるのを説明せよといわれても、 ;コードをみれば自明であるとしか言いようがない。 ;これにたいするcdrは (define (cdr z) (z (lambda (p q) q))) …