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 条
  • [21] Large and Infinitary Quotient Inductive-Inductive Types
    Kovacs, Andras
    Kaposi, Ambrus
    PROCEEDINGS OF THE 35TH ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS 2020), 2020, : 648 - 661
  • [22] Deep and Shallow Types for Gradual Languages
    Greenman, Ben
    PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 580 - 593
  • [23] How to Evaluate Blame for Gradual Types
    Lazarek, Lukas
    Greenman, Ben
    Felleisen, Matthias
    Dimoulas, Christos
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5
  • [24] The Behavior of Gradual Types: A User Study
    Wilson, Preston Tunnell
    Greenman, Ben
    Pombrio, Justin
    Krishnamurthi, Shriram
    DLS'18: PROCEEDINGS OF THE 14TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON DYNAMIC LANGUAGES, 2018, : 1 - 12
  • [25] What Is Decidable about Gradual Types?
    Migeed, Zeina
    Palsberg, Jens
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (POPL):
  • [26] Gradual typing with union and intersection types
    Castagna G.
    Lanvin V.
    Proceedings of the ACM on Programming Languages, 2017, 1 (ICFP):
  • [27] Approximate Normalization for Gradual Dependent Types
    Eremondi, Joseph
    Tanter, Eric
    Garcia, Ronald
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (ICFP):
  • [28] Guiding Parallel Array Fusion with Indexed Types
    Lippmeier, Ben
    Chakravarty, Manuel M. T.
    Keller, Gabriele
    Jones, Simon Peyton
    ACM SIGPLAN NOTICES, 2012, 47 (12) : 25 - 36
  • [29] On the internal structures of inductive types
    Fu, YX
    SCIENCE IN CHINA SERIES E-TECHNOLOGICAL SCIENCES, 2000, 43 (05): : 542 - 560
  • [30] Equational theories for inductive types
    Loader, R
    ANNALS OF PURE AND APPLIED LOGIC, 1997, 84 (02) : 175 - 217