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

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

2013-11-01から1ヶ月間の記事一覧

クロージャ変換

プログラムを作ってクロージャ変換の意味が分かった(かも)。基本的に明示的に表れる引数はレジスタに載ることが前提なのでクロージャ変換とは関連がない。クロージャ変換でクロージャに組み込まれるのはその関数が宣言された上の表記のバインドされた変数…

lisp to cps

ほんの少しできた。 [20]> (+-two '(:+ 3 5) (cons 'exit-msg '(:exit exit-msg))) (:ID (3) (#:G3104) ((:ID (5) (#:G3105) ((:+ (#:G3104 #:G3105) (EXIT-MSG) ((:EXIT EXIT-MSG))))))) 教科書通りに”効率の悪い” cps ができあがった。naive version と呼…

mini lisp on lisp とクロージャ

mini lisp を lisp 上で作った。mini lisp は define と #t #f をサポートした scheme 風の言語に設計した。lisp で lisp を作っているのであっという間にできた。っていうかもうなれちゃったな。何回も scheme つくっているので。 今回はクロージャを実装し…

レキシカル・スコープ

(setf make-func (let (a b) (labels ((make-func () (defun g (x) (setf b x) (format t "g a:~a b:~a~%" a b)) )) (setf b #'make-func)) (defun f (x) (setf a x) (format t "f a:~a b:~a~%" a b)) b)) レキシカル・スコープ恐るべし。Java が出てきたと…

DLR の死と COM の復権

マイクロソフトのばか野郎!! DLR を一生懸命勉強していたら、WinRT だと?WinRT の本質はどうやら COM らしいのだが、昔の COM は当時(2003年ごろ)情報が少なくて、いっぱい資料を買った割にはなんだかよくわからなかった。その上、Microsoft のページの更…