2007-09-02から1日間の記事一覧

MzSchemeでSRFIを使う。

SRFIという響きに憧れる。自称Schemeレベル2.8のtanakaです。Gaucheで、SIFIを使うには、 (use srfi-1) とする。しかし、僕はVimユーザーなのでMzSchemeなのです。 (require (lib "1.ss" "srfi")) なんとなく使えるようになった気がするので、使ってみます!!…

SICPを読む(51) 問題 2.24 - 2.28 リスト巡り

SICPネタを書くとアクセス数が激減することが判明。ブログで読者を逃すならSICPを読もう。 問題 2.24 まずは、括弧表現で、書いてみる。 (1 (2 (3 4))) 評価してみる。ドキドキ。 (list 1 (list 2 (list 3 4))) ; (1 (2 (3 4))) あってた。よく見ると、 (lis…

SICPを読む(50) 2.2.2(1) 階層構造

階層構造になったら、想像力が追い付かなくなってきた・・・。 ふたつのリストの違い (cons (list 1 2) (list 3 4)) ; ((1 2) 3 4) (list (list 1 2) (list 3 4)) ; ((1 2) (3 4)) あれ?何が違うんだ!?展開してみよう。 (cons (cons 1 (cons 2 `())) (cons 3…

SICPを読む(49) 問題 2.21 - 2.23 mapの問題を解こう。

サクサク進む。これくらいの問題が続いてくれると嬉しいんだけど・・・。 問題 2.21 穴埋め問題。 (define (square x) (* x x)) (define (square-list items) (if (null? items) `() (cons (square (car items)) (square-list (cdr items))))) (square-list …