研究概要 |
平成10年度までの研究でMLに似た先行評価型の関数型言語に対して、オブジェクトの寿命を推論する型システムの設計を行ない、プロトタイプの実装を行なった。これはTofteとTalpinらがML-Kitに実装した領域・エフェクト推論(region effect inference)と目的は似ているが、本研究のシステムでは、プログラムが明示的にオブジェクトの寿命を指定して、その指定の正当性をシステムがチェックする。このシステムではオブジェクトの生成時の領域の指定はML-Kitのシステムよりも簡略化できるが、逆にオブジェクトの使用時の領域の指定がML-Kitのシステムより煩雑になってしまった。このため、平成11年度は、型推論時に一種のサブタイピングを導入し、オブジェクトの使用時の領域の指定をより簡略化できるように型システムを改良した。さらに型システムや型推論アルゴリズムの健全性などの性質の研究を行なった。また実用的な再帰アルゴリズムに対しては、例えばマージソートの場合、領域に関する明示的な指定を2,3箇所に挿入すれば、オブジェクトの寿命を指定することが可能であることがわかった。今後は、この領域を用いたメモリ管理方式を用いてディジタル信号処理やインタラクティブプログラムなどの実時間性を要求される分野のライブラリを構築し、この方式でのプログラミングが大規模なアプリケーションにおいて実際に可能であるかどうか等を検討する必要がある。
|