Entries from 2007-12-15 to 1 day

Bignum が必要だ

profiler の結果の整数が overflow した。 まさかこんな理由で Bignum が必要になるとは。 EoPLにBignum実装があった記憶がある。

コンパイルが遅い原因を探る - Scheme VM を書く

VM 側に profiler っぽいものを仕込み、Gauche で整形ツールを書いたが、VMの構造上正確に計測するのが難しいことが分かった。 手続き名と、手続きの最後まで実行されたという目印を見つけるのが難しいのだ。 3時間くらいかけたことを捨てなくてはいけないが…

knol

knolにMonaのページを作りたい。一番詳しく書くよ。

探偵伯爵と僕 / 少し変わった子あります

前職を辞めてから最初にやりたかったことは、コードを思いっきり書くこと、プールで泳ぎまくること。 これらが叶った後にやってきたのは本を読むことだった。 自分の人生に何がぷかぷかと浮いてくるかを知れた。 最近はしばらくたまっていた、森博嗣の未読を…

コンパイラをVMに内蔵する - Scheme VM を書く

compiler.scmc (コンパイル済みコード)を VM で eval する。 evaluteFile("./compiler.scmc"); compiler.scmc 中で定義された compile 手続きを C++ コード中から呼び出しコンパイル時に使う。 おお!動いた。 コンパイラは Scheme で書くという大きなメリ…

Bignum勉強中

実装に向けて勉強中。 add の桁あふれを portable に書く方法とか。 この方面は初めてで刺激的だな。 明日は忙しいので実装は明後日かな。

C++のもやもや局面

c++

こういうのってどうしているんだろうな。 その1 Cのテクニックで構造体の最後のメンバを ポインタ or 配列 にして、それを経由して配列のサイズ以上にアクセスするってやつがあるじゃないですか。 固定長ヘッダを持つ、可変長のデータ構造とか(他にもあるけ…