• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

1997 Fiscal Year Annual Research Report

関数プログラム言語のコンパイラの研究

Research Project

Project/Area Number 09780271
Research InstitutionKyoto University

Principal Investigator

南出 靖彦  京都大学, 数理解析研究所, 助手 (50252531)

Keywords関数プログラム言語 / コンパイラ / ML
Research Abstract

値呼び出しの関数プログラム言語で関数的なデータ構造(明示的な破壊的操作の許されていないデータ構造)の構築をより柔軟に行なうことを可能にするために,穴(初期化されていないフィールド)をもつデータ構造を関数プログラム言語で扱うことを可能にした.この穴をもつデータ構造を使うことで、より効率的なプログラムを書くことが可能になる.
1.穴をもつデータ構造に対して行われる操作は,ラムダ抽象に対して行われる操作と類似点が多く,関数プログラム言語に対して,穴をもつデータ構造を新たなラムダ抽象(hole abstraction)として,導入することが自然であることが分かった.しかし,関数プログラム言語の様々な良い性質を保存するには,その使い方に様々な制限が必要になる.そこで,そのような制限を課す型システムを構築し,その健全性を示した.
2.ラムダ計算からCombinatory Logicへの翻訳を応用してhole abstractionをコンパイルする方法を構築し,その正しさの証明を行った.この翻訳を行えば,その後は,値呼び出し関数プログラム言語の通常のコンパイル方法を用いて,コンパイラを実装することができる.
3.Standard MLの実験的コンパイラにhole abstractionを実装し,ベンチマーク・プログラムを使った実験を行った.その結果,リストのappendやmerge sortなどでは,30%前後の大きな実行時間の改善が確認された.

URL: 

Published: 1999-03-15   Modified: 2016-04-21  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi