2009-05-01から1ヶ月間の記事一覧
(define 関数名 (with-module gauche 関数名))
;;;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)) ;;…
;;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 …
apt-get install gauche-glでインストールできるが,使おうとすると, libgauche-math3Dがどうかこうとかというエラーがでて使えないので,結局ソースを ./confiure make make installで入れた.
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)))
とりあえず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... …
;;再帰的プロセス (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…
((lambda (x) (let ((x 3) (y (+ x 2))) (* x y))) 2) => 12 ((lambda (x) (let* ((x 3) (y (+ x 2))) (* x y))) 2) => 15
多読術 (ちくまプリマー新書)作者: 松岡正剛出版社/メーカー: 筑摩書房発売日: 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…