SPMVの言語仕様策定までの道程表
SPVMの実装と言語仕様を作成している。SPVMはPerlに静的言語の機能を組み込むプロジェクトだ。Perlで数値計算を行うことができるようになることが目標だ。
実装できていない部分
実装状況は80%くらい。残りの部分は次の部分。
パッケージ変数
パッケージ変数を今まで実装していなかったのだが、最初から最後まで存在する変数がないと、キャッシュの実装ができないという結論になったので、実装する。
イミュータブルなオブジェクトを作成するためのprivate属性
Javaの言語実装を調べていると、StringやIntegerやDoubleなど、イミュータブルなオブジェクトを実装する必要があるという結論になった。フィールドがprivateで、そのクラスからだけしかアクセスできないようにすると、イミュータブルなオブジェクトができる。
だから、private属性を実装する必要がある。
String型
現在はバイトの配列型はあるのだけれど、String型がない。String型が必須なのは、String型を実装して、ハッシュ値を返すメソッドを実装しないと、HashMapなどを実装できないからだ。
バイト配列だけでもいいかなと最初思ったけれど、String型を実装しないとポリモーフィズムが実現できなそう。
Object型
すべてのオブジェクト型を渡せるObject型を実装しないと、ポリモーフィズムが実現できなさそうなので、実装する。
可変長配列を受け取れるサブルーチン
可変長配列とObject型を実装しないとsprintfのような関数を作成できないので、可変長配列を受け取れるサブルーチンを実装する。