Subtyping and Intersection Types Revisited

被引:0
|
作者
Pfenning, Frank [1 ]
机构
[1] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15213 USA
关键词
Languages; Theory; Verification;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Church's system of simple types has proven to be remarkably robust: call-by-name, call-by-need, and call-by-value languages, with or without effects, and even logical frameworks can be based on the same typing rules. When type systems become more expressive, this unity fractures. An early example is the value restriction for parametric polymorphism which is necessary for ML but not Haskell; a later manifestation is the lack of distributivity of function types over intersections in call-by-value languages with effects. In this talk we reexamine the logical justification for systems of subtyping and intersection types and then explore the consequences in two different settings: logical frameworks and functional programming. In logical frameworks functions are pure and their definitions observable, but complications could arise from the presence of dependent types. We show that this is not the case, and that we can obtain soundness and completeness theorems for a certain axiomatization of subtyping. We also sketch a connection to the type-theoretic notion of proof irrelevance. In functional programming we investigate how the encapsulation of effects in monads interacts with subtyping and intersection types, providing an updated analysis of the value restriction and related phenomena (Davies and Pfenning 2000). While at present this study is far from complete, we believe that its origin in purely logical notions will give rise to a uniform theory that can easily be adapted to specific languages and their operational interpretations.
引用
收藏
页码:219 / 219
页数:1
相关论文
共 50 条
  • [21] Resolution as Intersection Subtyping via Modus Ponens
    Marntirosian, Koar
    Schrijvers, Tom
    Oliveira, Bruno C. D. S.
    Karachalias, Georgios
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (OOPSLA):
  • [22] Binary Intersection Revisited
    Holub, Stepan
    [J]. COMBINATORICS ON WORDS, WORDS 2019, 2019, 11682 : 217 - 225
  • [23] Intersection Matrices Revisited
    Ghareghani, N.
    Ghorbani, E.
    Mohammad-Noori, M.
    [J]. JOURNAL OF COMBINATORIAL DESIGNS, 2012, 20 (08) : 383 - 397
  • [24] Session Types = Intersection Types
    Padovani, Luca
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2011, (45): : 71 - 89
  • [25] ON THE PRECISENESS OF SUBTYPING IN SESSION TYPES
    Chen, Tzu-Chun
    Dezani-Ciancaglini, Mariangiola
    Scalas, Alceste
    Yoshida, Nobuko
    [J]. LOGICAL METHODS IN COMPUTER SCIENCE, 2017, 13 (02)
  • [26] Polarised subtyping for sized types
    Abel, Andreas
    [J]. MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2008, 18 (05) : 797 - 822
  • [27] On the Preciseness of Subtyping in Session Types
    Chen, Tzu-Chun
    Dezani-Ciancaglini, Mariangiola
    Yoshida, Nobuko
    [J]. PPDP'14: PROCEEDINGS OF THE 16TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2014, : 135 - 146
  • [28] On subtyping, wildcards, and existential types
    Victoria University, Wellington, New Zealand
    不详
    [J]. Proc. Int. Workshop Form. Tech. Java-like Programs, FTfJP,
  • [29] Polarized subtyping for sized types
    Abel, Andreas
    [J]. COMPUTER SCIENCE - THEORY AND APPLICATIONS, 2006, 3967 : 381 - 392
  • [30] Intersection Types and Counting
    Parys, Pawel
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2017, (242): : 48 - 63