問題5.22 – SICP(計算機プログラムの構造と解釈)その272
問題5.22 p149 の "問題3.12" の append と append! のレジスタ計算機を作る。 append (define (append x y) (if (null? x) y (cons (car x) (append (cdr x) y)))) (define append-machine (make-machine ‘(continue lis1 li…続きを読む
問題5.22 p149 の "問題3.12" の append と append! のレジスタ計算機を作る。 append (define (append x y) (if (null? x) y (cons (car x) (append (cdr x) y)))) (define append-machine (make-machine ‘(continue lis1 li…続きを読む
問題5.21 b. カウンタを陽に持つ再帰的 count-leaves (define (count-leaves tree) (define (count-iter tree n) (cond ((null? tree) n) ((not (pair? tree)) (+ n 1)) (else (count-iter (cdr tree) (count-iter (car tree) n)))…続きを読む
問題5.21 a. 再帰的 count-leaves p62 の count-leaves をアセンブラで実装する。 (define (count-leaves tree) (cond ((null? tree) 0) ((not (pair? tree)) 1) (else (+ (count-leaves (car tree)) (count-leaves (cdr tree)))))) p3…続きを読む
問題5.20 (define x (cons 1 2)) ; (1 . 2) (define y (list x x)) ; (#0=(1 . 2) #0#) ポインタ表記とメモリーベクタ表現の図。 free の最後の値は p4 となる。 計算機プログラムの構造と解釈 posted with amazlet at 08.11.07 ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブ…続きを読む
問題5.19 ブレークポイントを label と label からの距離(整数)のペアのリスト(breakpoints)とする。 label からの距離を count-from-label に保持し、次の label に移動する毎にカウンタをリセットする。 現在の label と label からの距離(count-from-label)のペアがブレークポイントのリスト breakpoints に…続きを読む
Ubuntu 9.10 の Release Candidate 版を Thinkpad X60 で使ってみた。 まだ RC 版なのでインストールはせずにライブCDで試してみた。 無線LAN(Atheros AR5418)も認識して問題なく利用できたし、すぐにインストールして利用しても問題なさそうな感じ。 いくつかのソフトウェアのバージョンを調べてみた。 gimp 2.6.7-1ubuntu1 ga…続きを読む
問題5.18 make-register 手続きをレジスタのトレースを行うように修正する。 問題5.16の命令トレースの場合と似たような処理となる。 (define (make-register name) (let ((contents ‘*unassigned*) (register-trace-flag #f)) (define (set-register-trace flag) (set!…続きを読む
Snow Leopard では文字の入力モードを切り替える際に command + space の長押しで入力モードの選択リストが表示されるようになった。 このリスト表示の長押しのタイミングが上手く合わないのか、 command + space でリストを表示させずに素早く入力モードの切り替えをしようとして失敗することがよくあって使いにくい。 そこで、このリストの表示を止めさせるように設定をした。…続きを読む
iTerm 上で AquaSKK を使うと、入力モードの切り替えに使う l や q が入力されてしまう。 Mac 標準の Terminal では256色が使えないし… MacVim KaoriYa と ATOK2008 の問題がなくなったことだし ATOK2008 に戻そう。
XTerm*color0 : #000000 XTerm*color1 : #c00000 XTerm*color2 : #008000 XTerm*color3 : #808000 XTerm*color4 : #0000c0 XTerm*color5 : #c000c0 XTerm*color6 : #008080 XTerm*color7 : #c0c0c0 XTerm*color8 : #…続きを読む