本研究は、関数型プログラミング言語を高階書換え系としてモデル化し、高階書換え系の正規化戦略を用いることによって、関数型プログラミング言語プログラム(以下、関数型プログラム)の効率的な実行を動的に実現することを目的とする。 これまで書換え型計算モデルの書換え戦略に関する研究の多くは、項書換え系の上で行われてきた。しかし、項書換え系には関数型言語の重要な機能である高階関数の概念がないため、これまでの項書換え系での成果をそのまま関数型言語に応用することができない。そこで、関数型言語の高階関数を扱うことのできる書換え型計算モデルである高階書換え系に着目し、高階書換え系の効率的な計算を行う書換え戦略を明らかにする。また実行系を実現し、本研究の書換え戦略が関数型プログラムを効率的に実行させることを確認する。 本研究の目標は、次の3点である。 (1)項書換え系の書換え戦略に関する性質を高階書換え系へ拡張する。そのために必須リデックス、高階書換え系の近似書換え計算、必須リデックスの決定可能性の性質を順次証明する。 (2)高階書換え系とその上での必須書換え戦略を行う実行系を実現し、関数型プログラムの効率的な実行を行う。 (3)本手法は近似計算を用いて計算戦略を実現するため、関数型言語の実行系として適用できる範囲を明らかにする。 この中で(1)の目標に関して、高階書換え系の頭必須書換えについての性質を明らかにし、正規化戦略となっていることを示すことができた。また、必須リデックスの決定方法について研究を進めており、これらに関して研究発表を行う予定である。
|