LLPMLで構造体の継承ができるようになりました。
これはオブジェクト指向のためというよりも、共通のパラメータを持った構造体を扱いやすくするためのものです。
多態
LLPMLでは明示的に指定したメンバしか構造体に含まない方針なので、vtableは実装しません。そのため多態のサポートはMLPMLに持ち越します。どうしても必要な場合、メンバに関数ポインタを含めば仮想関数を実現することはできます。
今後の予定
配列と、32bit以外のサイズの整数型(8bit, 16bit, 64bit)を実装すれば、LLPML 1.0の仕様は揃います。浮動小数点数のサポートはLLPML 2.0に先送りします。
64bit
いつかは64bitコードを出力するLLPMLを作りたいと思います。LLPMLでのvarのデフォルトの型はポインタとサイズが等しいことを前提にしているため、64bitネイティブ版では64bit整数にしようと思います。いわゆるILP64のようなイメージです。
そうなると32bit版との互換性の問題が出てきます。API呼び出しが絡むと面倒なことになりそうです。