プログラム変換は、仕様からのプログラムの導出、コンパイラにおける最適化などにおいて有用であることが知られている。変換規則としては、関数の展開、畳み込み、具体化、一般化といった基本的なものや、関数融合、組化等を行うための、より複雑な規則までさまざまである。コンパイラに入れるプログラム変換は有用であるが、すべてのプログラムに一様に適用されるため、効率が悪くならないことを保証するために変換機能が限定されてしまうという一面がある。本研究においては、プログラム変換の側面からプログラム開発を支援する、対話的プログラム開発システムの作成を目的とする。本研究はこれまでに行われてきたプログラム変換、型システムの研究成果を用いて対話的プログラム開発システムを構築するものである。既存のプログラム変換の研究においては、プログラム一般に有用な変換については言語処理系に埋め込まれているが、そうでない変換については紙の上で行われるだけにとどまっているのが現状である。そこで従来紙の上で行っていたプログラム変換を実際のプログラム開発に用いることを目指している。
|