kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

2016-08-01から1ヶ月間の記事一覧

Scheme修行(11) 第19章 宝石泥棒(続き)

two-in-a-row?です (define two-in-a-row? (letrec ((W (lambda (a lat) (cond ((null? lat) #f) (else (let ((nxt (car lat))) (or (eq? nxt a) (W nxt (cdr lat))))))))) (lambda (lat) (cond ((null? lat) #f) (else (W (car lat) (cdr lat))))))) two-in…

Scheme修行(10) 第19章 宝石泥棒

deepです (define deep (lambda (m) (cond ((zero? m) (quote pizza)) (else (cons (deep (sub1 m)) (quote ())))))) (deep 6)としてやると((((((pizza))))))ができますが ((((((pizza))))))ではなく((((((mozzarella))))))を作るにはどうしたら いいでしょ…

Scheme修行(9) 第18章 我変わる、ゆえに我同じなり!

cons、car、cdrをlambdaで書いてしまいます (define kons (lambda (kar kdr) (lambda (selector) (selector kar kdr)))) (define kar (lambda (c) (c (lambda (a d) a)))) (define kdr (lambda (c) (c (lambda (a d) d)))) Schemeのコア中のコアと思っていた…

Scheme修行(8) 第17章 我変わる、ゆえに我あり!

ふたたびdeepM deepを内部に持つバージョンから始めます (define deepM (let ((Rs (quote ())) (Ns (quote ()))) (letrec ((D (lambda (m) (if (zero? m) (quote pizza) (cons (D (sub1 m)) (quote ())))))) (lambda (n) (let ((exists (find n Ns Rs))) (if…