ダウンロード数: 101
このアイテムのファイル:
ファイル | 記述 | サイズ | フォーマット | |
---|---|---|---|---|
978-3-030-34175-6_4.pdf | 380.11 kB | Adobe PDF | 見る/開く |
タイトル: | A dependently typed multi-stage calculus |
著者: | Kawata, Akira Igarashi, Atsushi https://orcid.org/0000-0002-5143-9764 (unconfirmed) |
著者名の別形: | 河田, 旺 五十嵐, 淳 |
キーワード: | Multi-stage programming Cross-stage persistence Dependent types |
発行日: | 1-Jan-2019 |
出版者: | Springer |
誌名: | Programming Languages and Systems |
巻: | 11893 |
開始ページ: | 53 |
終了ページ: | 72 |
抄録: | We study a dependently typed extension of a multi-stage programming language à la MetaOCaml, which supports quasi-quotation and cross-stage persistence for manipulation of code fragments as first-class values and an evaluation construct for execution of programs dynamically generated by this code manipulation. Dependent types are expected to bring to multi-stage programming enforcement of strong invariant—beyond simple type safety—on the behavior of dynamically generated code. An extension is, however, not trivial because such a type system would have to take stages of types—roughly speaking, the number of surrounding quotations—into account. To rigorously study properties of such an extension, we develop λMD, which is an extension of Hanada and Igarashi’s typed calculus λ▹% with dependent types, and prove its properties including preservation, confluence, strong normalization for full reduction, and progress for staged reduction. Motivated by code generators that generate code whose type depends on a value from outside of the quotations, we argue the significance of cross-stage persistence in dependently typed multi-stage programming and certain type equivalences that are not directly derived from reduction rules. |
記述: | Programming Languages and Systems: 17th Asian Symposium, APLAS 2019, Nusa Dua, Bali, Indonesia, December 1–4, 2019. Part of the Lecture Notes in Computer Science book series (LNCS, volume 11893). Also part of the Programming and Software Engineering book sub series (LNPSE, volume 11893). |
著作権等: | This is a post-peer-review, pre-copyedit version of an article published in Programming Languages and Systems. The final authenticated version is available online at: http://dx.doi.org/10.1007/978-3-030-34175-6_4. The full-text file will be made open to the public on 18 November 2020 in accordance with publisher's 'Terms and Conditions for Self-Archiving'. この論文は出版社版でありません。引用の際には出版社版をご確認ご利用ください。 This is not the published version. Please cite only the published version. |
URI: | http://hdl.handle.net/2433/245912 |
DOI(出版社版): | 10.1007/978-3-030-34175-6_4 |
出現コレクション: | 学術雑誌掲載論文等 |
このリポジトリに保管されているアイテムはすべて著作権により保護されています。