2010-05-01から1ヶ月間の記事一覧
(make-register 'r0) とかでレジスタを設定するのだが、その構造はどうなっているか?それが仕様になる。初期値は '*unassigned* で例によって dispatch がかえる。メソッド(関数だけど)は get と set。これが register-table に name とペアーで格納され…
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…