- 著者
-
叢 悠悠
浅井 健一
- 出版者
- 日本ソフトウェア科学会
- 雑誌
- コンピュータ ソフトウェア (ISSN:02896540)
- 巻号頁・発行日
- vol.36, no.2, pp.2_47-2_60, 2019-04-26 (Released:2019-06-25)
CoqやAgdaなどの定理証明支援系では,依存型を使ってプログラムの性質を正確に記述することができる.一方,依存型付き言語の多くは,副作用を許さないという制約もつ.これは,副作用の動的な振る舞いによって型が静的に定まらなくなることによるが,副作用の欠如は実用的なプログラムの実装の妨げとなるため,適切な制約を設けながら,依存型付き言語に副作用を導入する試みがなされてきた.本研究では,限定継続命令 shift/resetをもつ依存型付き言語を考える.shift/resetはさまざまな副作用の模倣を可能にするが,その応用例や型システムは単純型付き言語で考えられてきた.本稿では,shift/reset と依存型を組み合わせるために必要な制約を明らかにし,健全な型システムを定義する.また,設計した言語に対するCPS変換を与え,変換が型を保存することを証明する.