多相レコード型に基づくRubyプログラムの型推論
スポンサーリンク
概要
- 論文の詳細を見る
本研究では,多層レコード型に基づいてRubyプログラムの型推論ツールを設計,実装した.型推論ツールは,組み込みライブラリの型を記述したシグネチャとRubyプログラムを入力とし,プログラムの型を推論し,誤りを検出する.しかし,Rubyの柔軟性を表現できる,実用的で健全な型体系を設計しようとすると,体系は非常に複雑になる.それを避けるため,多相レコード型によって拡張されたMLの型推論アルゴリズムを,直接,Rubyに適用した.型体系は,非常に制限されたRubyプログラムに対しては,健全になるように設計した.Rubyにおいては,組み込みクラスなどの既存のクラスを拡張することが許されており,実際に多くのプログラムを分離して型推論するのではなく,プログラムの一部としてシグネチャが含まれるよう型体系を設計した.実際のRubyプログラムを型付けする場合には,多相レコード型の表現力やMLの型推論アルゴリズムにおける再帰的な定義の型推論に関する多相性の制限から,いくつかの問題が生じることが分かった.これらの制限は,特に組み込みライブラリの型付けにおいて問題になることから,クラス定義を複製し展開することによって型推論を行った.
- 一般社団法人情報処理学会の論文
- 2008-03-15
著者
関連論文
- Rubyプログラムの制御フロー解析とその健全性の証明
- 特集「プログラミング及びプログラミング言語」の編集にあたって(プログラミング及びプログラミング言語)
- 実行可能なコンパイラの形式化と検証
- 実行可能なコンパイラの形式化と検証
- 実行可能なコンパイラの形式化と検証
- 「情報処理学会論文誌 : プログラミング」の編集について
- 多相レコード型に基づくRubyプログラムの型推論
- Cプログラムの検証ツールCaduceus(ソフトウェア紹介)
- POPL '96会議報告
- アトミックグループで拡張された正規表現のオートマトンへの変換
- 参照カウントに対応したソフトウェアトランザクショナルメモリの実装