2008-10-01から1ヶ月間の記事一覧

Garbage Collection

CS

GCを実装してみた。単純なMark and Sweep。 今までGCについてまともに考えたことなんてなかったが,いざやってみると奥が深くてなかなかおもしろい。 もうすこしGCについて調べてみるのもいいかもしれない。

letrec

CS

Schemeでは次のような式はエラーになることを初めて知った。 (let ((x (+ x 1))) x)(+ x 1) の x が未定義になるため。 R5RSによると,letrecの意味は library syntax: (letrec ) Syntax: should have the form (( ) ...), and should be a sequence of one …

水伝

10月8日の「ミヤネ屋」で「水からの伝言」を批判していたらしい。ちょっと見たかったなあ。 実はわたしも「水伝授業」を受けたことがあります。新入社員教育のひとつとして受けた「社会人のマナー」とかそんな感じので。あいさつの重要性を教えるために引用…

理系の人々

理系の人々作者: よしたに出版社/メーカー: 中経出版発売日: 2008/09/27メディア: 単行本(ソフトカバー)購入: 9人 クリック: 164回この商品を含むブログ (176件) を見るオレってやっぱ理系なんだなあとしみじみ思った。 作者が情報系だから余計に共感する…

末尾呼出し その3

CS

末尾呼出しというよりはHaskellでの実装の話。 関数呼出しが末尾呼出しかどうかを知るために継続を比較する必要があるのだが,わたしの実装では継続は関数であり,そしてHaskellでは関数そのものの比較はできない(はず。たぶん)。 type Cont = [Val] -> En…

体調不良

どうやら風邪をひいた模様。3連休だというのに…

末尾呼出し その2

CS

まえの日記で関数呼出しが末尾呼出しか評価時にチェックすると書いたが,実際はチェックの結果で処理は変えていない。というのも,関数f内の関数呼出し(g x)が末尾呼出しであったなら,(g x)の継続は関数fの呼出しの継続となるように実装していたから。 ただ…

末尾呼出し

CS

日記に書くのは半年ぶりですが,じつは地味にHaskellでScheme風言語のインタプリタ実装を続けていたりします。まあ,途中何度も中断してたりしますが。。。 R?RS準拠のものを作る気(というか能力)なんてないのだが,やはり末尾再帰くらいはちゃんとやりた…

メモリ増設

というか512MB×2から2GB×2に交換。無駄に「for Macintosh」と書いてあるやつにしてみた。べつに変わるところなんてないんだろうけど,なんとなく。 ちなみにオレのMacBookはMB063J/Aなもんで4GB積んでも実際には3GBしか使われません。3GBもあればぜんぜん…