A wide range of gradual type systems have been proposed, providing many languages with the ability to mix typed and untyped code. However, hiding under language details, these gradual type systems have fundamentally different ideas of what it means to be typed. In this paper, we show that four of the most common gradual type systems provide distinct guarantees, and we give a formal framework for comparing gradual type systems for object-oriented languages. First, we show that the different gradual type systems are practically distinguishable via a three-part litmus test. Then, we present a formal framework for defining and comparing gradual type systems. Within this framework, different gradual type systems become translations between a common source and target language, allowing for direct comparison of semantics and guarantees.
@Article{chung_et_al:DARTS.4.3.10, author = {Chung, Benjamin and Li, Paley and Nardelli, Francesco Zappa and Vitek, Jan}, title = {{KafKa: Gradual Typing for Objects (Artifact)}}, pages = {10:1--10:3}, journal = {Dagstuhl Artifacts Series}, ISSN = {2509-8195}, year = {2018}, volume = {4}, number = {3}, editor = {Chung, Benjamin and Li, Paley and Nardelli, Francesco Zappa and Vitek, Jan}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.4.3.10}, URN = {urn:nbn:de:0030-drops-92411}, doi = {10.4230/DARTS.4.3.10}, annote = {Keywords: Gradual typing, object-orientation, language design, type systems} }
5186a2242726e810f5acac714a827a6c
(Get MD5 Sum)
Feedback for Dagstuhl Publishing