SICP読書会関係者のブログをみていると、lambdaだけでcar, cdr, consをつくるみたいな話がでてきたので考えてみた。
(define (mycons x y)
(lambda (f) (f x y)))
(define (mycar x)
(x (lambda (a b) a)))
(define (mycdr x)
(x (lambda (a b) b)))
10分ほど考えた結果。こういうことだろうか。lambda(関数抽象)と関数適用だけでできた。
で、書きおわって「λすげえ!λかわいいよλ」とか思ったけど、これって型無しλ計算のあれじゃねーかということに気がついた。