2006-10-22から1日間の記事一覧

型情報を値に埋め込む実装を追加

以前のエントリで言っていた型情報を値に埋め込む件を試してみました。 次のようなイメージの実装になっています。 enum Type{ TYPE_NULL = 0, TYPE_BASE = 1, TYPE_INT = 2, TYPE_FLOAT = 3, TYPE_MASK = (1<<1) | (1<<0), TYPE_SHIFT = 2 }; class Value{ …

global変数は無い

Xtalにはglobal変数というモノは存在しません。 あるファイルで定義した変数は、他のファイルにまったく影響しません。ただし、global変数のような動作をするモノをこしらえることはできます。一例を示します。 // global.xtal // 連想配列をexportする。 ex…

toplevelモジュール

コンパイル単位でのトップレベルの変数を保持するモジュールオブジェクトです。 静的に発見できない変数参照は、toplevelモジュールから検索されます。 println(foo); // toplevel::foo と同じ意味 そのため、toplevelにincludeすれば、暗黙的な変数参照の対…

libオブジェクト

他のファイルに書かれたライブラリを読み込みたい。 (Cでいうinlcude、Rubyでいうrequire、Pythonでいうimportがしたい)そんな時には libオブジェクト を使います。libオブジェクトは特殊なオブジェクトで、lib::foo とアクセスした場合、foo.xtalを読み、そ…

0.9.1公開

バージョンが上がりました。修正内容 libオブジェクト周辺のバグを修正 moduleに追加定義したメンバが正しく検索されないことがあるバグを修正 値に型情報が埋め込まれたバージョンのUncountedAnyを用意 Xtal version 0.9.1 VC7とgcc version 3.4.4 (cygming…