かっこの中は別世界
ちょっと混乱するわ
;;; q2.4 (define (cons x y) (lambda (m) (m x y))) ;手続きを引数 (define (car z) (z (lambda (p q) p))) ;手続きzにlambda手続きを渡す (define (cdr z) (z (lambda (p q) q))) (define a (cons 1 2)) ;;=>lam (a) (a 1 2) (car a) ;;=>(car (cons 1 2)) ;;=>(car (lambda (m) (m 1 2))) ;この形でキックする事になると。 ;;carは上の手続きをzに埋め込んで 自身のlambdaを走らせるので ;;((lambda (m) (m 1 2)) ;手続きを待ってる ;; (lambda (p q)) p)) ;手続き ;;こうなる ;;((lambda (p q) p) 1 2 ) ;;=>1 ;;;かっこの中は別世界