1997 年 14 巻 4 号 p. 4_402-4_407
遅延評価型の関数型言語は,理論的な取扱いが容易でプログラムも簡潔に書ける点が評価されているが,実行効率の問題が指摘されてきた.しかし,最近になってGlasgow Haskell Compilerに代表される効率的な言語処理系が登場し,実用的なプログラミング言語としても注目を集めている. 関数型言語処理系の効率的な実装を可能にした技術が大域的なプログラム解析をもとにした最適化であるが,この1つが正格性解析を用いた引数のunbox化によるメモリアクセスの軽減である.本論文では,この最適化をさらに進めて,unbox化を関数引数だけでなく代数データ型のデータ構成子の要素にも適用する方法を提案する.この方法に基づき,Glasgow Haskell Compilerのコード生成部を改良し,いくつかのプログラムに対して実行効率の向上を確認した.