v0.29 Release Note

Last updated:
Created: 2008-04-12








by Fumisky Wells
v0.29 も暫定バージョン。 ユーザクラス定義 class X ... end を導入した。 とは言え、C の struct レベルであるし、総称型(例: Complex[real]) の定義もできない。 組み込み総称型 array[T], list[T] のパラメータへの指定は可能。 まとめると、現状のステータスは以下のようになる:
項目 ステータス
既存総称型の引数として使える
ユーザクラス定義に総称型が使える
(class X[T] とできる)
×
OO ×

その他詳細

  1. type/types.* の意味を変える。1) 型宣言は各ヘッダ(type/int.h など)で行い、 2) 定義は type/types.cpp でまとめて順序だてて行うことにする。 こうする理由は、2) はリンク時の順序依存を解決するために必要なためで、 一方、int だけ使うのに type/types.h を include する必要はないから。 結果、type/types.h は削除。
  2. Alan での継承と C++ 実装の継承を明確に分離。前者は setI() で実現することに。
  3. 未定義仮想関数呼出しを UNDEF_AVPTR 例外とした(それまではSEGVで落ちていた)。
  4. ユーザクラス定義: ユーザが定義していない場合、init(), init(X), asgn(), put(), putf() の暗黙のメンバ定義をする。
  5. vm
    1. RET_E の導入。
    2. Alan関数から C の呼出し、CからAlan関数の呼出しが可能に。