1999 Fiscal Year Annual Research Report
関数型プログラミング言語のプログラム変換に関する研究
Project/Area Number |
11780216
|
Research Institution | University of Tsukuba |
Principal Investigator |
南出 靖彦 筑波大学, 電子・情報工学系, 講師 (50252531)
|
Keywords | プログラム変換 / 関数型プログラミング言語 / 操作的意味論 |
Research Abstract |
プログラム変換がプログラムの効率に及ぼす影響を理論的に明らかにする研究を行った。今年度には特に、関数型プログラミング言語のコンパイラで用いられるGPS変換と呼ばれるプログラム変換に関して研究し、GPS変換がプログラムの実行に必要な記憶領域の大きさを定数倍で、保存していることを示した。 これを示すために、まず、変換前、変換後のプログラミング言語に対して、実行に必要な記憶領域の大きさを定式化した操作的意味を与えた。変換前のプログラミング言語に与えた意味は、GreinerとBlellochによって提案された意味を基にした。しかし、彼らが提案した意味には、プログラムの実行を正しくモデル化していない部分があることがわかったので、この問題を解決し、プログラムの実行を正しくモデル化する意味論を提案した。 これまで、プログラム変換がプログラムの実行に必要な記憶領域の大きさを保存していることを示すには、複雑な証明が必要になると考えられており、ほとんど証明が行われてこなかった。しかし、この研究では、これまでプログラミング言語の型システムの研究で発展してきた証明の手法を応用することで、見通しの良い証明を与えることができた。
|