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.SNAPL.2017.17
URN: urn:nbn:de:0030-drops-71202
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7120/
Tobin-Hochstadt, Sam ;
Felleisen, Matthias ;
Findler, Robert ;
Flatt, Matthew ;
Greenman, Ben ;
Kent, Andrew M. ;
St-Amour, Vincent ;
Strickland, T. Stephen ;
Takikawa, Asumu
Migratory Typing: Ten Years Later
Abstract
In this day and age, many developers work on large, untyped code repositories. Even if they are the creators of the code, they notice that they have to figure out the equivalent of method signatures every time they work on old code. This step is time consuming and error prone.
Ten years ago, the two lead authors outlined a linguistic solution to this problem. Specifically they proposed the creation of typed twins for untyped programming languages so that developers could migrate scripts from the untyped world to a typed one in an incremental manner. Their programmatic paper also spelled out three guiding design principles concerning the acceptance of grown idioms, the soundness of mixed-typed programs, and the units of migration.
This paper revisits this idea of a migratory type system as implemented for Racket. It explains how the design principles have been used to produce the Typed Racket twin and presents an assessment of the project's status, highlighting successes and failures.
BibTeX - Entry
@InProceedings{tobinhochstadt_et_al:LIPIcs:2017:7120,
author = {Sam Tobin-Hochstadt and Matthias Felleisen and Robert Findler and Matthew Flatt and Ben Greenman and Andrew M. Kent and Vincent St-Amour and T. Stephen Strickland and Asumu Takikawa},
title = {{Migratory Typing: Ten Years Later}},
booktitle = {2nd Summit on Advances in Programming Languages (SNAPL 2017)},
pages = {17:1--17:17},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-032-3},
ISSN = {1868-8969},
year = {2017},
volume = {71},
editor = {Benjamin S. Lerner and Rastislav Bod{\'i}k and Shriram Krishnamurthi},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2017/7120},
URN = {urn:nbn:de:0030-drops-71202},
doi = {10.4230/LIPIcs.SNAPL.2017.17},
annote = {Keywords: design principles, type systems, gradual typing}
}
Keywords: |
|
design principles, type systems, gradual typing |
Collection: |
|
2nd Summit on Advances in Programming Languages (SNAPL 2017) |
Issue Date: |
|
2017 |
Date of publication: |
|
05.05.2017 |