さかもとのブログ

つらつらと

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

out of noise

最近教授の音楽にはまっている。新しいアルバム「out of noise」がきのう届き、プレーヤー以外を消して(電気はついてます)、窓を閉め、目を閉じて聞いてみた。心地よかった。 out of noise(数量限定生産)アーティスト: 坂本龍一出版社/メーカー: commmons発…

SICP3.5.5節

演習問題3.81, 3.82はパスする. 例題が動くよう,random-numberを,簡単だけど,作ってみた. ;;section3.5.5 (load "./stream.scm") (use srfi-27) (define (average-int a b) (quotient (+ a b) 2)) (define random-numbers (cons-stream 1 (stream-map (…

あり得ない

脳死を一般的な人の死と定義し、本人が生前に拒否していなければ、年齢に関係なく家族の同意で臓器摘出が可能。 臓器移植法改正案:衆院可決 15歳未満も臓器提供 脳死一律「人の死」に つまり大切な人が,まだ温かい体で,目の前でただ眠っているだけだけ…

SICP演習問題3.77~3.79

3.77にちょっとはまった. ;;exercise3.77 (define (solve f y0 dt) (define dy (stream-map f y)) (define y (integral (delay dy) y0 dt)) y) (define (integral delayed-integrand initilal-value dt) (cons-stream initilal-value (let ((integrand (for…

SICP演習問題3.73~3.74

;;exercise3.73 (define (rc-circuit r c dt) (lambda (i v0) (add-stream (scale-stream i r) (integral (scale-stream i (/ 1.0 c)) v0 dt)))) ;;exercise3.74 ;;例題を参照した ;;sinを使ってsense-dataを生成してみる (define sense-data (stream-map (l…

李香蘭

見てきました. 太平洋戦争(大東亜戦争)に関心のあるぼくにとって,見ずにはいられなかった. いろいろ書きたいけれど,適当なことは自分のためにも書きたくないので,時間があるときに書く.ところで,「李香蘭」の川島芳子を濱田めぐみが演じていたのだが,彼…

SICP演習問題3.67~3.72

もうちょっとましな名前をつけられないかなー。 ;;exercise3.67 (define (pairs s t) (cons-stream (list (stream-car s) (stream-car t)) (interleave (interleave (stream-map (lambda (x) (list (stream-car s) x)) (stream-cdr t)) (stream-map (lambda …

SICP演習問題3.56~3.60

streamの表示用に (define (stream-ref-list n s) (let loop ((count 0)) (if (= count n) 'done (begin (format #t "~a " (stream-ref s count)) (loop (+ count 1)))))) nとsは逆のほうがいい(じゃあそうしろよ) ;;exercise3.56 (define (merge s1 s2) (co…

SICP演習問題3.53~3.55

遅延すげぇと思った. ;;exercise3.53 (define s (cons-stream 1 (add-streams s s))) ;=> 1,2,4,8,16,.... ;;exercise3.54 (define (mul-streams m1 m2) (stream-map * m1 m2)) (define factorials (cons-stream 1 (mul-streams factorials (integers-starti…

SICP演習問題3.64~3.65

id:rsakamot:20090615:1245075079の表示用を直した. (define (stream-ref-print s n) (let loop ((count 0)) (if (> count n) 'done (begin (print (stream-ref s count)) (loop (+ count 1)))))) ;;exercise3.64 (define (stream-limit stream tolerance) (…

SICP演習問題3.49

acount-numberをどう管理するか迷った. 大域変数で管理するか balanceと同じように,口座を作るときに,指定するか. 今回は1を選択した. ;;exercise3.48 (define account-number 1) (define (make-accout-and-serializer balance) (define (withdraw amount)…

SICP演習問題3.50~3.52

プロンプトの表示などでちょっと長いけれど載せちゃう. delay, cons-streamはマクロで定義しなければいけないところではまった. naoya_tさんのstream.scmを見て救われた. ;;exercise3.50 (define (stream-map proc . argstreams) (if (stream-null? (car arg…

SICP演習問題3.47

;;exercise3.47 (define (make-semaphore n) (let ((s n) (mutex (make-mutex))) (define (aquire) (mutex 'acquire) ;mutexを保護する (if (> count 0) (begin (set! s (- s 1)) ;sを変更 (mutex 'release)) ;保護していたmutexを解放 (begin (mutex 'relea…

SICP演習問題3.33~3.35

;;exercise3-33 (load "./section3-3-5.scm") (define (averager a b c) (let ((u (make-connector)) (w (make-connector))) (adder a b u) (multiplier w c u) (constant 2.0 w) 'ok)) ;;other (define (averager a b c) (let ((u (make-connector)) (w (ma…

SICP演習問題3.29の確認と3.31

3.29の確認 ;;通常のor-gate gosh> (load "./section3-3-4.scm") sum 0 New-value = 0 carry 0 New-value = 0 sum 8 New-value = 1 carry 11 New-value = 1 sum 16 New-value = 0 #t ;;exercize3.29のor gate gosh> (load "./section3-3-4.scm") sum 0 New-v…

SICP演習問題3.28~3.30

;;excercise3.28 (define (or-gate a1 a2 output) (define (or-action-procedure) (let ((new-value (logical-or (get-signal a1) (get-signal a2)))) (after-delay or-gate-delay (lambda () (set-signal! output new-value))))) (add-action! a1 or-action…

SICP演習問題3.21~3.23

3.21 ;;;exercise3.21 (define (print-queue queue) (map append (front-ptr queue))) 3.22 ;;exercise3.22 (define (make-queue) (let ((front-ptr '()) (rear-ptr '())) (define (set-front-ptr! item) (set! front-ptr item)) (define (set-reat-ptr! ite…

SICP演習問題3.16~18

;;exercise3.16,17 ;;;exercise3.16 (define (count-pairs x) (if (not (pair? x)) 0 (+ (count-pairs (car x)) (count-pairs (cdr x)) 1))) ;;;exercise3.17 (define (new-count-pairs x) (define already-list '()) (define (count-pairs x) (cond [(not (…

かっこいいよ、坂本さん

1996アーティスト: 坂本龍一出版社/メーカー: フォーライフ ミュージックエンタテイメント発売日: 2007/04/04メディア: CD購入: 5人 クリック: 50回この商品を含むブログ (19件) を見る 今まで坂本龍一の音楽は聞いたことがなかった.なんのきっかけでアルバ…

SICP演習問題3.1~3.8

;;excercise3.1 (define (make-accumulator base-number) (lambda (number) (set! base-number (+ base-number number)) base-number)) ;;excercise3.2 (define (make-monitored function) (let ((count 0)) (lambda (args) (cond [(number? args) (set! cou…

random関数

Gaucheユーザリファレンスより (use math.mt-random) (define m (make <mersenne-twister> :seed (sys-time))) (mt-random-integer m 1000) (define (rand) (mt-random-integer m 1000)) こうしておくと, gosh> (rand) 164 gosh> (rand) 69(rand)で乱数が生成される.</mersenne-twister>

openGL

SICPもやらなければいけないけれど,Javaもやらなければいけない.ところで,javaでopenGLを使って画像作ってみた. ソースのもとはここでそのまま打ち込んだだけ.(こぴぺはだめです)当たり前だけど,動いた.ちょっと感動. マウスで動くし,影っぽいもの…

SICP演習問題2.87, 2.89

またもやnaoya_tさんのscheme-number->polynominalを拝借. いつもいつもお世話になっています.. ;;section2.5.3 (define (install-scheme-number-package) (put 'add '(scheme-number scheme-number) (lambda (x y) (+ x y))) (put 'sub '(scheme-number sc…

SICP演習問題2.78

;;;excercise2.79 ; tagをつける必要がなくなる (define (install-shceme-number-package2) (put 'add '(scheme-number scheme-number) (lambda (x y) (+ x y))) (put 'sub '(scheme-number scheme-number) (lambda (x y) (- x y))) (put 'mul '(scheme-numb…

SICP 演習問題2.73

get, putをどうしようどうしよう... ;;;get, put implements ;;;higeponさんのを参照した (define operation-table (make-hash-table)) (define (put op type item) (if (not (hash-table-exists? operation-table op)) (hash-table-put! operation-table op…

get, put...

SICPの演習問題2.77をやろうとしたところ,どうしてもgetがうまくできず,苦しんでいた. ということで,あきらめてnaoya_tさんのを拝借. ちゃんと理解してから使わなければ. また以前のやつはなぜgetがうまくいかないのかを考える.