Gradual Indexed Inductive Types

被引:0
|
作者
Malewski, Mara [1 ]
Maillard, Kenji [2 ]
Tabareau, Nicolas [2 ]
Tanter, Eric [1 ]
机构
[1] Univ Chile, Comp Sci Dept DCC, PLEIAD Lab, Santiago, Chile
[2] Inria, Gallinette Project Team, Nantes, France
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2024年 / 8卷 / ICFP期
关键词
Gradual typing; proof assistants; dependent types;
D O I
10.1145/3674644
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Indexed inductive types are essential in dependently-typed programming languages, enabling precise and expressive specifications of data structures and properties. Recognizing that programming and proving with dependent types could benefit from the smooth integration of static and dynamic checking that gradual typing offers, recent efforts have studied gradual dependent types. Gradualizing indexed inductive types however remains mostly unexplored: the standard encodings of indexed inductive types in intensional type theory, e.g., using type-level fixpoints or subset types, break in the presence of gradual features; and previous work on gradual dependent types focus on very specific instances of indexed inductive types. This paper contributes a general framework, named PUNK, specifically designed for exploring the design space of gradual indexed inductive types. PUNK is a versatile framework, enabling the exploration of the space between eager and lazy cast reduction semantics that arise from the interaction between casts and the inductive eliminator, allowing them to coexist and interoperate in a single system. Our work provides significant insights into the intersection of dependent types and gradual typing, by proposing a criteria for well-behaved gradual indexed inductive types, systematically addressing the outlined challenges of integrating these types. The contributions of this paper are a step forward in the quest for making gradual theorem proving and gradual dependently-typed programming a reality.
引用
收藏
页数:29
相关论文
共 50 条
  • [1] Indexed types
    Zenger, C
    THEORETICAL COMPUTER SCIENCE, 1997, 187 (1-2) : 147 - 165
  • [2] QUOTIENTS, INDUCTIVE TYPES, & QUOTIENT INDUCTIVE TYPES
    Fiore, Marcelo P.
    Pitts, Andrew M.
    Steenkamp, S. C.
    LOGICAL METHODS IN COMPUTER SCIENCE, 2022, 18 (02)
  • [3] Indexed Codata Types
    Thibodeau, David
    Cave, Andrew
    Pientka, Brigitte
    ACM SIGPLAN NOTICES, 2016, 51 (09) : 351 - 363
  • [4] Gradual Security Types and Gradual Guarantees
    Bichhawat, Abhishek
    McCall, McKenna
    Jia, Limin
    2021 IEEE 34TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF 2021), 2021, : 49 - 64
  • [5] Gradual Domain Adaptation without Indexed Intermediate Domains
    Chen, Hong-You
    Chao, Wei-Lun
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 34 (NEURIPS 2021), 2021, 34
  • [6] Migrating Gradual Types
    Campora, John Peter
    Chen, Sheng
    Erwig, Martin
    Walkingshaw, Eric
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2 (POPL):
  • [7] Gradual Ownership Types
    Sergey, Ilya
    Clarke, Dave
    PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 7211 : 579 - 599
  • [8] Gradual ownership types
    IBBT-DistriNet, Department of Computer Science, Katholieke Universiteit Leuven, Belgium
    Lect. Notes Comput. Sci., 1600, (579-599):
  • [9] Gradual session types
    Igarashi, Atsushi
    Thiemann, Peter
    Tsuda, Yuya
    Vasconcelos, Vasco T.
    Wadler, Philip
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2019, 29
  • [10] Gradual Refinement Types
    Lehmann, Nico
    Tanter, Eric
    ACM SIGPLAN NOTICES, 2017, 52 (01) : 775 - 788