Entries from 2007-11-04 to 1 day

Easy Mona Player 0.0.7 リリース

ワンクリックで Mona の音楽プレイヤーが試せるEasyMonaPlayer-0.0.7 for Windowsをリリースしました。 まだα版でとても不安定ですが良かったら、あなたのデスクトップの片隅でお試しください。 ※QEMUというエミュレータが同梱されていて Mona が動作するの…

公園

VM用のコンパイラ - Scheme VM を書く

VM 用のコンパイラは Gauche で動かしていて、コンパイラの出力を C++ で読めるような形にして VM に渡している。 そのうちコンパイラを C++ で書き直さないといけないので面倒だと思っていた。 しかし良く考えればコンパイラをコンパイルしたコードが VM 上…

テストケースを共有したい - Scheme VM を書く

Scheme で書かれた VM と C++ で書かれた VM は全く同じ仕様なのだからテストケースを共有すべき事に気づく。 テストに失敗した場合は、VM のデバッグモードを ON にしてレジスタを見ながらデバッグできるような仕組みもついでに作ってしまおう。テストファ…

昼まで

昼までがんばった。 実装が終わるとほぼ同時に、iPod の電池もなくなった。 これは休めというサインだな。 午後は運動したり、のんびりしたりしよう。 カメラ持って公園行くか。

C++ のマクロで lower_case 的なものはないのかな

C++

#define HOGE(name) class name { int LOWER_CASE(name)##_; } HOGE(Hige); => class Hige { int hige_; }; みたいな。

call/cc - Scheme VM を書く

call/cc を実装。 ヒープベース VM とはちと違う。 conti で stack を丸ごと保存 nuate で stack を戻す return で戻した stack から復帰 という流れ。Scheme 版では以下のようなテストが通るようになった。 (test* "call/cc" 4 (evaluate '(call/cc (lambda…