新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

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

[SICP] make-register

(make-register 'r0) とかでレジスタを設定するのだが、その構造はどうなっているか?それが仕様になる。初期値は '*unassigned* で例によって dispatch がかえる。メソッド(関数だけど)は get と set。これが register-table に name とペアーで格納され…

[SICP] make-machine

dispatch 用マクロ clos や dlambda をつかわないとなんだか funcall を一杯使ってかっちょ悪いので一発マクロを書く。 ; usage: ; (m-call machine :set-var 3) (defmacro m-call (machine method &body body) `(funcall (funcall ,machine ,method) ,@body…

[SICP] applyprimitive か compound かを見て処理をする。 (defun scheme-apply (procedure arguments) (cond ((primitive-procedure? procedure) (apply-primitive-procedure procedure arguments)) ((compound-procedure? procedure) (scheme-eval-sequenc…