研究概要 |
今年度はメタ計算系における一つの主要な要素である関数型言語におけるプログラム変形に焦点を当てた研究を行った. プログラム変形はプログラムのコンパイルにおける重要な処理であり, その理論を整備し, 処理の高速化を計ることは実用さき重要な課題となっている. われわれのとったアプローチはカルテシアン閉カテゴリ(Cartesian Closecl Category, 以下CCCと略す)とよぶ体系の表現を中間のプログラム表現にとり, この体系を計算の体系として活用しようとするものである. CCCは型付きラムダ計算のモデルとして, その有効性が理論計算機学者らによって指摘されているが, われわれの研究はそれを一歩すすめて, プログラム変形やコンパイル処理に応用したものである. 具体的には, CCCを用いたコンパイラはCOMMON LISPに準拠したLISPのコンパイラとしてまとめられている. LISPコンパイラは大型計算機上で, メタ計算系の一つのモジュールとして稼働しており, 十分に実用に耐えうる高速なコードを生成することが確かめられている. このコンパイラは型の取り扱いに, サブタイプの処理が不十分であり, これからも型の理論の検討と, 実装のためのアルゴリズムの検討が必要である. 次年度の研究は, 上の研究の現状をふまえ, CCCの対象(型)の構造を有効に生かした型検証システムの構築を予定している. さらに, 従来から行われているプログラムのデータ依存性の解析や抽象解釈の結果を, われわれのアプローチから見直しを計ることを予定している.
|