Affiliation:
1. Rice University
2. IT University of Copenhagen
Abstract
This paper proposes and develops the basic theory for a new approach to typing multi-stage languages based a notion of
environment classifiers
. This approach involves explicit but lightweight tracking -- at type-checking time -- of the origination environment for future-stage computations. Classification is less restrictive than the previously proposed notions of closedness, and allows for both a more expressive typing of the "run" construct and for a unifying account of typed multi-stage programmin.The proposed approach to typing requires making cross-stage persistence (CSP) explicit in the language. At the same time, it offers concrete new insights into the notion of levels and in turn into CSP itself. Type safety is established in the simply-typed setting. As a first step toward introducing classifiers to the Hindley-Milner setting, we propose an approach to integrating the two, and prove type preservation in this setting.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
39 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Ill-Founded Proof Systems for Intuitionistic Linear-Time Temporal Logic;Lecture Notes in Computer Science;2023
2. Mœbius: metaprogramming using contextual types: the stage where system f can pattern match on itself;Proceedings of the ACM on Programming Languages;2022-01-12
3. Type-safe generation of modules in applicative and generative styles;Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences;2021-10-17
4. A Survey of Metaprogramming Languages;ACM Computing Surveys;2020-11-30
5. Multi-stage programming in the large with staged classes;Proceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences;2020-11-16