リフレクティブな並列論理型言語をC^*等のデータ並列言語で実装し、コネクションマシン等の汎用の並列マシン上で稼働させることを目的とし、コネクションマシンCM-5上のデータ並列言語C^*を用いて、並列論理型言語GHCのサブユニットの実装を行なった。 実装を行うに際して、二つの並列性に着目した。一つは、並列論理型言語の基本部分である複数のゴールを同時に書き換える処理の並列性(Goalsによる並列性)、もう一つは、上の処理に伴う並列論理型言語の複数のデータを同時に扱う処理の並列性(Termsによる並列性)である。 この二つの並列性を組み合わせることにより、並列論理型言語のデータ並列言語C^*によるポ-タビリティの高い実装を実現した。 一方、リフレクションについては、継続情報(Continuation)を陽に扱い、配列のi番目の要素に定数時間でアクセス可能なBinPrologを用い、リフレクティブGHCの試験的な実装を通常のワークステーション上で行なった。この実装により、継続情報(Continuation)を陽に扱うことにより、リフレクションが効率的に実装されることを確かめた。
|