License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2018.12
URN: urn:nbn:de:0030-drops-92170
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2018/9217/
Chung, Benjamin ;
Li, Paley ;
Zappa Nardelli, Francesco ;
Vitek, Jan
KafKa: Gradual Typing for Objects
Abstract
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 embody fundamentally different ideas of what it means to be well-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. 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.
BibTeX - Entry
@InProceedings{chung_et_al:LIPIcs:2018:9217,
author = {Benjamin Chung and Paley Li and Francesco Zappa Nardelli and Jan Vitek},
title = {{KafKa: Gradual Typing for Objects}},
booktitle = {32nd European Conference on Object-Oriented Programming (ECOOP 2018)},
pages = {12:1--12:24},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-079-8},
ISSN = {1868-8969},
year = {2018},
volume = {109},
editor = {Todd Millstein},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2018/9217},
URN = {urn:nbn:de:0030-drops-92170},
doi = {10.4230/LIPIcs.ECOOP.2018.12},
annote = {Keywords: Gradual typing, object-orientation, language design, type systems}
}
Keywords: |
|
Gradual typing, object-orientation, language design, type systems |
Collection: |
|
32nd European Conference on Object-Oriented Programming (ECOOP 2018) |
Issue Date: |
|
2018 |
Date of publication: |
|
10.07.2018 |
Supplementary Material: |
|
ECOOP Artifact Evaluation approved artifact available at http://dx.doi.org/10.4230/DARTS.4.3.10 |