2010-05-01から1ヶ月間の記事一覧

VM/GCを作る。

2週間のんびりrowl-coreを作っていましたが、大体出来上がってきました。LISPもどきのインタプリタです。非常に雑な実装(識別子テーブルとか関数コールとか)ですが、使い捨てなのでこれでいいです。さて、次の作業はVMとGCの作成です。本当はパーサ作ったり…

今後の開発計画

現状 アセンブリ実装のrowl0完了 → rowl0実装のrowl1開発中 rowl1の開発もほぼ終了し、rowl2のコードを書き始めているという段階。 けれども、rowl1で高級な機能(クロージャや多重定義)を導入しようとしてバグが多発してきたので一旦ここで計画の見直しを行…

オーバーロードを実装した

久々の機能追加。 import stdlib; f: () { return 1; }; f: (x!int) { return x; }; export main: () { x : f (); y : f (1); exit(ExitSuccess); }; などが実行できるようにした。引数の型が同一で戻り値のみの型が違う関数の定義はできない。(エラーチェッ…