Dependent Type Inference with Interpolants

被引:44
|
作者
Unno, Hiroshi [1 ]
Kobayashi, Naoki [1 ]
机构
[1] Tohoku Univ, Sendai, Miyagi 980, Japan
关键词
Dependent Types; Type Inference;
D O I
10.1145/1599410.1599445
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We propose a novel type inference algorithm for a dependently-typed functional language. The novel features of our algorithm are: (i) it can iteratively refine dependent types with interpolants until the type inference succeeds or the program is found to be ill-typed, and (ii) in the latter case, it can generate a kind of counter-example as an explanation of why the program is ill-typed. We have implemented a prototype type inference system and tested it for several programs.
引用
收藏
页码:277 / 288
页数:12
相关论文
共 50 条
  • [31] Complexity of Type Inference
    Tyszkiewicz, Jerzy
    FUNDAMENTA INFORMATICAE, 2010, 103 (1-4) : 289 - 301
  • [32] Visual type inference
    Erwig, M
    JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 2006, 17 (02): : 161 - 186
  • [33] Type inference for MLj
    McAdam, B
    Kennedy, A
    Benton, N
    TRENDS IN FUNCTIONAL PROGRAMMING, VOL 2, 2000, : 159 - 171
  • [34] TYPE INFERENCE WITH SUBTYPES
    FUH, YC
    MISHRA, P
    THEORETICAL COMPUTER SCIENCE, 1990, 73 (02) : 155 - 175
  • [35] Explaining type inference
    Duggan, D
    Bent, F
    SCIENCE OF COMPUTER PROGRAMMING, 1996, 27 (01) : 37 - 83
  • [36] Local type inference
    Pierce, BC
    Turner, DN
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2000, 22 (01): : 1 - 44
  • [37] Type Inference Logics
    Carnier, Denis
    Pottier, Francois
    Keuchel, Steven
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (OOPSLA2):
  • [38] Type inference in mathematics
    Avigad, Jeremy
    Bulletin of the European Association for Theoretical Computer Science, 2012, 106 (01): : 78 - 98
  • [39] Type Inference on Executables
    Caballero, Juan
    Lin, Zhiqiang
    ACM COMPUTING SURVEYS, 2016, 48 (04)
  • [40] TYPE INFERENCE WITH INEQUALITIES
    SCHWARTZBACH, MI
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 493 : 441 - 455