Union and intersection types to support both dynamic and static typing

被引:15
|
作者
Ortin, Francisco [1 ]
Garcia, Miguel [1 ]
机构
[1] Dept Comp Sci, Oviedo 33007, Spain
关键词
Programming languages; Program specification; Compilers; Formal languages; Type systems;
D O I
10.1016/j.ipl.2010.12.006
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Although static typing provides undeniable benefits for the development of applications, dynamically typed languages have become increasingly popular for specific scenarios. Since each approach offers different benefits, the StaDyn programming language has been designed to support both dynamic and static typing. This paper describes the minimal core of the StaDyn programming language. Its type system performs type reconstruction over both dynamic and static implicitly typed references. A new interpretation of union and intersection types allows statically gathering the type information of dynamic references, which improves runtime performance and robustness. The evaluation of the generated code has shown how our approach offers an important runtime performance benefit. (C) 2010 Elsevier B.V. All rights reserved.
引用
收藏
页码:278 / 286
页数:9
相关论文
共 50 条
  • [1] Gradual typing with union and intersection types
    Castagna G.
    Lanvin V.
    Proceedings of the ACM on Programming Languages, 2017, 1 (ICFP):
  • [2] INTERSECTION AND UNION TYPES
    BARBANERA, F
    DEZANICIANCAGLINI, M
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 526 : 651 - 674
  • [3] Including both static and dynamic typing in the same programming language
    Ortin, F.
    Zapico, D.
    Perez-Schofield, J. B. G.
    Garcia, M.
    IET SOFTWARE, 2010, 4 (04) : 268 - 282
  • [4] Typing Classes and Mixins with Intersection Types
    Bessai, Jan
    Dudder, Boris
    Dudenhefner, Andrej
    Chen, Tzu-Chun
    de'Liguoro, Ugo
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (177): : 79 - 93
  • [5] Elaborating Intersection and Union Types
    Dunfield, Joshua
    ACM SIGPLAN NOTICES, 2012, 47 (09) : 17 - 28
  • [6] Elaborating intersection and union types
    Dunfield, Joshua
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2014, 24 (2-3) : 133 - 165
  • [7] Intersection and Union Types for chi
    van Bakel, Steffen
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 136 : 203 - 227
  • [8] Isomorphism of intersection and union types
    Coppo, Mario
    Dezani-Ciancaglini, Mariangiola
    Margaria, Ines
    Zacchi, Maddalena
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2017, 27 (05) : 603 - 625
  • [9] A Realizability Interpretation for Intersection and Union Types
    Dougherty, Daniel J.
    de'Liguoro, Ugo
    Liquori, Luigi
    Stolze, Claude
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2016, 2016, 10017 : 187 - 205
  • [10] Disjoint Polymorphism with Intersection and Union Types
    Rehman, Baber
    Oliveira, Bruno C. d S.
    PROCEEDINGS OF THE 26TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2024, 2024, : 23 - 29