2008年06月10日

SICPの面白かったところをメモしておきます。

SICPの
Exercise 2.6. In case representing pairs as procedures wasn't
mind-boggling enough,
ていうところが面白かった。
わーって思ったから。

2008/08/01なんでわーって思ったかわすれてたから書いておきます。
「2.1.3 What Is Meant by Data?」から。

(define (cons x y)
(define (dispatch m)
(cond ((= m 0) x)
((= m 1) y)
(else (error "Argument not 0 or 1 -- CONS" m))))
dispatch)

(define (car z) (z 0))

(define (cdr z) (z 1))

consの戻り値はクロージャ!で、それをcarとかcdrに渡すというわけです。わーっ!
posted by ほえ at 18:14| Comment(0) | TrackBack(0) | Scheme | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。