さかもとのブログ

つらつらと

2009-05-01から1ヶ月間の記事一覧

気持ち悪いw

上書きしてしまった組み込みの関数をもとに戻すには

(define 関数名 (with-module gauche 関数名))

SICP演習問題2.33~2.39

;;;exercise2.33 (define (my-map p sequence) (accumulate (lambda (x y) (cons (p x) y)) '() sequence)) (define (my-append seq1 seq2) (accumulate cons seq2 seq1)) (define (my-length sequence) (accumulate (lambda (x y) (+ 1 y)) 0 sequence)) ;;…

SICP演習問題2.27~2.32

;;2.27 (define (deep-reverse lis) (if (pair? lis) (append (deep-reverse (cdr lis)) (list (deep-reverse (car lis)))) lis)) higeponさんがとってきた解答例では (define (deep-reverse tree) (if (not (pair? tree)) tree (reverse (map deep-reverse …

ubuntu8.04にgauche-gl

apt-get install gauche-glでインストールできるが,使おうとすると, libgauche-math3Dがどうかこうとかというエラーがでて使えないので,結局ソースを ./confiure make make installで入れた.

closureは便利

SICPのP.52より (define (my-cons x y) (lambda (m) (m x y))) (define (my-car z) (z (lambda (p q) p))) (define (my-cdr z) (z (lambda (p q) q)))

CentOS5.3にgauche-glをインストール

とりあえずgauche-glを取ってきて, freeglutを入れて,./configureをしたら, checking GL/glx.h usability... yes checking GL/glx.h presence... yes checking for GL/glx.h... yes checking GLUT/glut.h usability... no checking GLUT/glut.h presence... …

SICP演習問題1.37

;;再帰的プロセス (define (cont-frac n d k) (if (= k 0) 1 (/ (n k) (+ (d k) (cont-frac n d (- k 1)))))) (trace cont-frac) (cont-frac (lambda (i) 1.0) (lambda (i) 1.0) 10) ;;反復的プロセス (define (cont-frac n d k) (let loop ((result (/ (n k…

letとlet*の紛らわしい例

((lambda (x) (let ((x 3) (y (+ x 2))) (* x y))) 2) => 12 ((lambda (x) (let* ((x 3) (y (+ x 2))) (* x y))) 2) => 15

gmail

読書心得(にしたい)

多読術 (ちくまプリマー新書)作者: 松岡正剛出版社/メーカー: 筑摩書房発売日: 2009/04/08メディア: 新書購入: 11人 クリック: 132回この商品を含むブログ (209件) を見る より [掩巻(えんかん)] 書物を少し読み進んだら,そこでいったん本を閉じて,その内…

継続わからない...

現在Gauche第19章6節に取り組み中なのだが,継続がいまいち分からない.特に (define-syntax for-each-ext (syntax-rules () [(_ break next lambda-expr arg-list ...) (let ((arg1 (list arg-list ...))) (call/cc (lambda (break) (apply for-each (lambda…