抄録
ML系言語の多相型システムをレコード多相性,再帰的型定義,およびレコード型間の順序関係を導入し拡張することにより,オブジェクト指向言語とのシームレスな相互運用が可能な多相型言語が実現可能である.この洞察に基づき,計算系の外部にある既存のクラスのオブジェクトやそのメソッドを直接操作可能な多相型言語を定義し,その型推論アルゴリズムを開発した.この計算系は,多相型高階関数を用いた関数型プログラミングの利点とクラス階層に基づく動的メソッド起動を行うオブジェクト指向言語の利点の双方を実現するものである.本研究ではさらに,相互運用の対象言語の例として簡単なオブジェクト指向言語を定義し,その言語との相互運用機能を含む現実的な操作的意味論を定義し,本計算系の型システムの健全性を示した.これら結果は,我々が開発中の相互運用多相型言語のプロトタイプとして実装済みである.現在のプロトタイプは,JavaのクラスファイルやPostgreSQLサーバが自由にアクセス可能である.