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 条
  • [21] A Decidable Subtyping Logic for Intersection and Union Types
    Liquori, Luigi
    Stolze, Claude
    TOPICS IN THEORETICAL COMPUTER SCIENCE, TTCS 2017, 2017, 10608 : 74 - 90
  • [22] Towards a Logical Framework with Intersection and Union Types
    Stolze, Claude
    Liquori, Luigi
    Honsell, Furio
    Scagnetto, Ivan
    PROCEEDINGS OF THE WORKSHOP ON LOGICAL FRAMEWORKS AND META-LANGUAGES: THEORY AND PRACTICE (LFMTP), 2017, : 1 - 9
  • [23] Empowering Union and Intersection Types with Integrated Subtyping
    Muehlboeck, Fabian
    Tate, Ross
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [24] SINGLETON, UNION AND INTERSECTION TYPES FOR PROGRAM EXTRACTION
    HAYASHI, S
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 526 : 701 - 730
  • [25] Logic and Computation in a Lambda Calculus with Intersection and Union Types
    Dougherty, Daniel J.
    Liquori, Luigi
    LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING (LPAR-16), 2010, 6355 : 173 - 191
  • [26] From polyvariant flow information to intersection and union types
    Palsberg, J
    Pavlopoulou, C
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2001, 11 : 263 - 317
  • [27] Rewriting for Sound and Complete Union, Intersection and Negation Types
    Pearce, David J.
    PROCEEDINGS OF THE 16TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES (GPCE'17), 2017, : 117 - 130
  • [28] The Root Cause of Blame: Contracts for Intersection and Union Types
    Williams, Jack
    Morris, J. Garrett
    Wadler, Philip
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [29] On the use of static typing to support operations on frameworks
    Murphy, GC
    Notkin, D
    OBJECT ORIENTED SYSTEMS, 1996, 3 (04): : 197 - 213
  • [30] Rewriting for Sound and Complete Union, Intersection and Negation Types
    Pearce, David J.
    ACM SIGPLAN NOTICES, 2017, 52 (12) : 117 - 130