研究概要 |
本年度は,実用的な関数論理融合型言語処理系の実装を目指した.具体的には,以下に示すような,分散環境での実装とMathematica処理系上での実装を行った. 1.分散環境における関数論理融合型言語処理系の設計と実装 ナロ-イング計算系LNCd(Deterministic Lazy Narrowing Calculus)に基づく関数論理融合型言語の処理系を分散環境上で実装した.基本的なアイデアはLNCdに内在する書換え規則選択の非決定性を活用し,適用可能な書換え規則はすべて並列分散計算を行なうようにすることである.実装したシステムを用いてLNCdの性能を評価した結果、以下のことが明らかになった. (1)LNCdに内在する書換え規則選択の非決定性を活用した典型的なプログラム例では,並列分散計算により性能の向上が期待できる. (2)大きい問題を優先して分散させることで,さらに計算の効率を上げることができる. このことから,分散環境上で,効率の良い関数論理融合型プログラミング環境が構築できることが確認できた. 2.条件付きナロ-イング計算系のMathematica処理系による実装 条件付きナロ-イング計算系Lazy Conditional Narrowing Calculus(略してLCNC)をベースとして,LCNCd(deterministic LCNC)を設計し,Mathematica処理系上への実装を行った.LCNCdとは,LNCにおける推論規則の選択を決定的(deterministic)に行えるように改良を加えたもので,LNCに比べて計算機上に容易に実装できる.LCNCdは,関数論理融合型言語の解釈系となっており,関数論理融合型プログラムを効率よく実行できる.LCNCdをMathematica処理系上に実装することで,Mathematicaのもつ記号計算の能力を拡張できることを明らかにした.
|